Update TODO.
[goals.git] / TODO
diff --git a/TODO b/TODO
index 0cf802f..d620a98 100644 (file)
--- a/TODO
+++ b/TODO
@@ -7,11 +7,10 @@ You might only allow defaults to be added to the end, or you
 might allow goals to be called with labelled parameters.
 
 Deleting target files if goals is interrupted, but only if the
-timestamp changes (what about non-*files?).  Also: atomic code.  This
-will delete the target if the code doesn't run to completion.  (make
-doesn't do this, but probably it should).
-
-Parallel builds: On failure, wait for other jobs to finish.
+timestamp changes (what about things which are not is-files?).
+Also: atomic code.  This will delete the target if the code
+doesn't run to completion.  (make doesn't do this, but
+probably it should).
 
 Conditional sections (same as "ifeq" etc in make).
 
@@ -21,12 +20,6 @@ Let within functions and goals, eg:
     { .... }
 Unclear if this would be helpful or not.
 
-Implement more make functions, see:
-https://www.gnu.org/software/make/manual/html_node/Functions.html#Functions
-
-Split "flags" strings.  eg. Currently there is no way to pass
-$CFLAGS from autoconf into a goalfile.
-
 Make re-execs itself if the Makefile (or any include) changes, and
 goals should do something similar.  See:
 https://www.gnu.org/software/make/manual/html_node/Remaking-Makefiles.html
@@ -46,4 +39,16 @@ but it evaluates the output of a function as Goalfile syntax).
 
 Implement make-like “origin” function.  This is easy but it requires
 us to track to the origin of definitions which we do not do at
-the moment.
\ No newline at end of file
+the moment.
+
+Some kind of “source” directive.  If goals sees this then
+it automatically sources the parameter (a shell script) into
+every shell command.
+
+Allow code sections to be written in other languages, eg OCaml,
+Python, etc.  The syntax might look like:
+  {#!OCAML
+    ocaml code
+  }
+Also provide better integration, so we can accurately pass predicate
+constructors into these other language sections.