aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-02-28 14:24:18 +0000
committerdos-reis <gdr@axiomatics.org>2009-02-28 14:24:18 +0000
commit224f5d49930e9d6b6dddf709f31087a61b294516 (patch)
treedb25579ff61caa5cbc5c23c3f56cb5b7f6fc4856 /src/interp
parenta56176b5de188bf5ffe7d7735ec47bdf7f6c0a82 (diff)
downloadopen-axiom-224f5d49930e9d6b6dddf709f31087a61b294516.tar.gz
Revert accidental change
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/compiler.boot8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot
index 7c07df36..ae68d089 100644
--- a/src/interp/compiler.boot
+++ b/src/interp/compiler.boot
@@ -1208,6 +1208,14 @@ compPredicate(p,E) ==
[p',m,getSuccessEnvironment(p,E),getInverseEnvironment(p,E)]
getSuccessEnvironment(a,e) ==
+ a is ["is",id,m] =>
+ IDENTP id and isDomainForm(m,$EmptyEnvironment) =>
+ e:=put(id,"specialCase",m,e)
+ currentProplist:= getProplist(id,e)
+ [.,.,e] := T := comp(m,$EmptyMode,e) or return nil -- duplicates compIs
+ newProplist:= consProplistOf(id,currentProplist,"value",[m,:rest removeEnv T])
+ addBinding(id,newProplist,e)
+ e
a is ["case",x,m] and IDENTP x =>
put(x,"condition",[a,:get(x,"condition",e)],e)
e