From e3a68e235cd077c35654f79013ad54da46d72fee Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Wed, 4 May 2011 11:28:13 -0700 Subject: Bring back "pred" syntax for writing predicates for check This commit reinstates the requirement that the predicate in a "check" must be a manifest call to a special kind of function declared with the new "pred" keyword instead of "fn". Preds must have a boolean return type and can only call other preds; they can't have any effects (as enforced by the typechecker). The arguments to a predicate in a check expression must be slot variables or literals. --- src/comp/front/token.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/comp/front/token.rs') diff --git a/src/comp/front/token.rs b/src/comp/front/token.rs index 594515f2..b0fa0588 100644 --- a/src/comp/front/token.rs +++ b/src/comp/front/token.rs @@ -156,6 +156,7 @@ tag token { /* Callable type constructors */ FN; + PRED; ITER; /* Object type and related keywords */ @@ -340,6 +341,7 @@ fn to_str(token t) -> str { /* Callable type constructors */ case (FN) { ret "fn"; } + case (PRED) { ret "pred"; } case (ITER) { ret "iter"; } /* Object type */ -- cgit v1.2.3