diff options
author | dos-reis <gdr@axiomatics.org> | 2011-02-27 00:57:26 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-02-27 00:57:26 +0000 |
commit | e8ca9eab6dee408a68683147e9df2f0c81c4354e (patch) | |
tree | ff2edb143d41d09c3a5d57ac5485c3039368dea0 /src/interp | |
parent | df02d2410007b60d0ee057da174552847c0005f0 (diff) | |
download | open-axiom-e8ca9eab6dee408a68683147e9df2f0c81c4354e.tar.gz |
* interp/g-opt.boot (optCond): Recognize conjunction and
disjunction forms.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/c-util.boot | 1 | ||||
-rw-r--r-- | src/interp/g-opt.boot | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot index e3218e42..8904dddc 100644 --- a/src/interp/c-util.boot +++ b/src/interp/c-util.boot @@ -43,7 +43,6 @@ module c_-util where diagnoseUnknownType: (%Mode,%Env) -> %Form declareUnusedParameters: %Code -> %Code registerFunctionReplacement: (%Symbol,%Form) -> %Thing - getFunctionReplacement: %Symbol -> %Form getSuccessEnvironment: (%Form,%Env) -> %Env getInverseEnvironment: (%Form,%Env) -> %Env giveVariableSomeValue: (%Symbol,%Mode,%Env) -> %Env diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index b49a1beb..07562c49 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -303,6 +303,8 @@ optCond (x is ['%when,:l]) == l is [[p1,['%when,[p2,c2]]]] => optCond ['%when,[['%and,p1,p2],c2]] l is [[p1,c1],['%otherwise,'%false]] => optAnd ['%and,p1,c1] l is [[p1,c1],['%otherwise,'%true]] => optOr ['%or,optNot ['%not,p1],c1] + l is [[p1,'%false],['%otherwise,c2]] => optAnd ['%and,optNot ['%not,p1],c2] + l is [[p1,'%true],['%otherwise,c2]] => optOr ['%or,p1,c2] l is [[p1,:c1],[p2,:c2],[p3,:c3]] and p3 = '%otherwise => EqualBarGensym(c1,c3) => optCond ['%when,[['%or,p1,optNot ['%not,p2]],:c1],['%otherwise,:c2]] |