X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Frun.mli;h=60daa4cfaf3251290a27f9cc4400783251f23ecf;hb=refs%2Fheads%2Fmaster;hp=603ad035ac9387ad90d57f268d9c9fc9c6dc3d08;hpb=f36210fd16a8e4e4d6ecdd8825bf8b8307943472;p=goals.git diff --git a/src/run.mli b/src/run.mli index 603ad03..60daa4c 100644 --- a/src/run.mli +++ b/src/run.mli @@ -17,8 +17,15 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *) -val run_targets : Ast.env -> Ast.expr list -> unit -(** This drives evaluation of the list of target expressions (in - parallel) until they are complete or we reach an error. The - expressions are either a list of dependencies and/or a list of - initial targets. *) +val goal_runner : Deps.goal_runner +(** Run a single goal. *) + +val exists_runner : Deps.exists_runner +(** Run the implicit existence predicate. + + This is used when we find a predicate like is-foo(...) but there + is no matching goal. We run (in this callback) the associated + predicate code. As long as it runs successfully, not returning 99 or + any error value, then we're OK - the predicate doesn't need rebuilding + so the dependency is satisfied. However if it returns 99 (needs + rebuild) or an error then we have to exit with an error. *)