aboutsummaryrefslogtreecommitdiff
path: root/src/interp/buildom.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-02-13 21:44:34 +0000
committerdos-reis <gdr@axiomatics.org>2011-02-13 21:44:34 +0000
commitc89e28b04cf567a2c0e20d186c9cd89b138957d5 (patch)
tree288dfdd655881c2cc554a64f5e8aa4a115ad46f7 /src/interp/buildom.boot
parent75976e7d252b849c10767635baf27fb98af9a1b5 (diff)
downloadopen-axiom-c89e28b04cf567a2c0e20d186c9cd89b138957d5.tar.gz
* interp/buildom.boot (mkNewUnionFunList): Align arity of
'case' implementation to declared signature. (mkUnionFunList): Likewise. * interp/compiler.boot (compCase1): 'case' is now unconditionally binary. * interp/g-opt.boot (optCond): Fix thinko.
Diffstat (limited to 'src/interp/buildom.boot')
-rw-r--r--src/interp/buildom.boot6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/interp/buildom.boot b/src/interp/buildom.boot
index ce70aa08..b2b5c8c3 100644
--- a/src/interp/buildom.boot
+++ b/src/interp/buildom.boot
@@ -351,7 +351,7 @@ mkNewUnionFunList(name,form is ["Union",:listOfEntries],e) ==
[[["construct",[name,type],["XLAM",["#1"],["%makepair",i,"#1"]]],
["elt",[type,name,tag],cdownFun],
["case",[$Boolean,name,tag],
- ["XLAM",["#1"],['%ieq,['%head,"#1"],i]]]]
+ ["XLAM",["#1","#2"],['%ieq,['%head,"#1"],i]]]]
for [.,tag,type] in listOfEntries for i in 0..])] where
cdownFun() ==
gg:=gensym()
@@ -413,8 +413,8 @@ mkUnionFunList(op,form is ["Union",:listOfEntries],e) ==
["XLAM",["#1"],"#1"]
typeFun() ==
p is ['%ieq,['%head,x],n] =>
- ["XLAM",["#1"],['%ieq,['%head,x],n]]
- ["XLAM",["#1"],p]
+ ["XLAM",["#1","#2"],['%ieq,['%head,x],n]]
+ ["XLAM",["#1","#2"],p]
cList:= substitute(dollarIfRepHack op,g,cList)
[cList,e]