aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/interp/compiler.boot6
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