diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/interp/compiler.boot | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d12de4d5..02a7836c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,9 @@ 2010-05-02 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/compiler.boot (canReturn): Tidy. + +2010-05-02 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/compiler.boot (isSubset): Expand domain representation form. * algebra/term.spad.pamphlet (retractIfCan$Arity): Tidy. * algebra/tree.spad.pamphlet (cyclicCopy2$Tree): Remove diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 2e0beda4..3837ea58 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1234,13 +1234,11 @@ canReturn(expr,level,exitCount,ValueFlag) == --SPAD: exit and friends pp expr canReturn(a,level,exitCount,nil) or canReturn(b,level,exitCount,ValueFlag) or canReturn(c,level,exitCount,ValueFlag) - --now we have an ordinary form - atom op => and/[canReturn(u,level,exitCount,ValueFlag) for u in expr] - op is ["XLAM",args,bods] => - and/[canReturn(u,level,exitCount,ValueFlag) for u in expr] op = "LET" or op = "LET*" => or/[canReturn(init,level,exitCount,false) for [.,init] in second expr] or canReturn(third expr,level,exitCount,ValueFlag) + --now we have an ordinary form + atom op => and/[canReturn(u,level,exitCount,ValueFlag) for u in expr] systemErrorHere ['"canReturn",expr] --for the time being ++ We are compiling a conditional expression, type check and generate |