From: Richard W.M. Jones Date: Mon, 16 Sep 2013 14:46:43 +0000 (+0100) Subject: Update NOTES. X-Git-Tag: 0.2~40 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=8dd89ca314cf23ea3a47d8a61f5c814749214e40;p=goaljobs.git Update NOTES. --- diff --git a/NOTES b/NOTES index 18dccbe..385e6b0 100644 --- a/NOTES +++ b/NOTES @@ -1,3 +1,11 @@ +## NB ## + +These notes reflect earlier thinking about the language and may not +necessarily accurately describe the current goaljobs language. Please +read the documentation instead. + +## NB ## + Like 'make' except: - Predicates can be based on arbitrary expressions, not just "file X is older than file Y". @@ -10,21 +18,11 @@ Differences from 'whenjobs': - Goals instead of variables. - Persistent (across session) variables exist, but are not central. - Doesn't use <<..>> for shell scripts (has a function 'sh' instead). + - No daemon. Similarities to 'whenjobs': - Each shell script runs in its own temporary directory. -Example Makefile rule and translation to goaljobs language: - - %.o: %.c - cc -c $< -o $@ - - let goal compile c_file = - require (file_exists c_file); - let o_file = replace_substring ".c" ".o" c_file in - target (file_exists o_file && file_newer o_file c_file); - sh "cc -c %s -o %s" c_file o_file - Example program: let package = "foo"