diff options
Diffstat (limited to 'src/interp/i-code.boot')
-rw-r--r-- | src/interp/i-code.boot | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/interp/i-code.boot b/src/interp/i-code.boot index 99894ae4..f229578e 100644 --- a/src/interp/i-code.boot +++ b/src/interp/i-code.boot @@ -63,18 +63,18 @@ intCodeGenCOERCE(triple,t2) == val is ['THROW,label,code] => if label is ['QUOTE, l] then label := l null($compilingMap) or (label ^= mapCatchName($mapName)) => - objNew(['THROW,label,wrapped2Quote objVal + objNew(['THROW,label,getValueNormalForm intCodeGenCOERCE(objNew(code,t1),t2)],t2) -- we have a return statement. just send it back as is objNew(val,t2) val is ['PROGN,:code,lastCode] => - objNew(['PROGN,:code,wrapped2Quote objVal + objNew(['PROGN,:code,getValueNormalForm intCodeGenCOERCE(objNew(lastCode,t1),t2)],t2) val is ['COND,:conds] => objNew(['COND, - :[[p,wrapped2Quote objVal intCodeGenCOERCE(objNew(v,t1),t2)] + :[[p,getValueNormalForm intCodeGenCOERCE(objNew(v,t1),t2)] for [p,v] in conds]],t2) -- specially handle subdomain |