X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=TODO;h=2f8fc1f37681b9352e69904d782584732f9b4c71;hb=5a456c968ee7e7bbe477ae4e756967c4aa2e3fc1;hp=3f3257184644beb72cd8446f339b663bf3f2817d;hpb=81394242a7d6a47fad6d84ce33d488d38de2647a;p=goals.git diff --git a/TODO b/TODO index 3f32571..2f8fc1f 100644 --- a/TODO +++ b/TODO @@ -6,15 +6,11 @@ Default parameters, ie: You might only allow defaults to be added to the end, or you might allow goals to be called with labelled parameters. -Fix: You must use 'all ()' on the command line. - 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. - Conditional sections (same as "ifeq" etc in make). Let within functions and goals, eg: @@ -23,9 +19,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 - 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 @@ -39,3 +32,10 @@ Infinite loop when you have this goal: goal pod2man (page, section) = "docs/%page.%section" : "docs/%page.pod" { ... } This is caused by %section matching "pod" so the rule is called again, even if the local file docs/%page.pod actually exists. + +Implement make-like “eval” function (similar to include directive, +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