diff --git a/TODO b/TODO index 50b3c4ba8204a83c395f56a69cbd6bdee114e7dd..f84691394c65699447aab3656b978b549c338d99 100644 --- a/TODO +++ b/TODO @@ -4,3 +4,24 @@ Enhancements to pa_goal: rule so we can improve error messages. - Implement some sort of tracing based on the above. + +It should be possible to register goal "atexit [of goal]" handlers. +These only run when the goal successfully exits, allowing: + + - implicit memory_set + + - implicit check_target + +Multiple definitions of goals: + + let goal file_exists filename when filename `starts_with` "/foo" -> + ... + + let goal file_exists filename when filename `starts_with` "/bar" -> + ... + + - Might be implemented something like this: + add_goal (`File_exists, fun patt -> raise Matches, fun patt -> expr) + then when we run goals, we check them against all patterns (how?) + and only if one matches to we run that function. Multi-matches are + not permitted.