From 8dd89ca314cf23ea3a47d8a61f5c814749214e40 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 16 Sep 2013 15:46:43 +0100 Subject: [PATCH] Update NOTES. --- NOTES | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) 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" -- 1.8.3.1