diff options
author | dos-reis <gdr@axiomatics.org> | 2011-04-21 05:56:14 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-04-21 05:56:14 +0000 |
commit | 97463cc77bbec1c33f46ceb44584a180264682c3 (patch) | |
tree | 61d9cf3e25771fbdd5de776ea989aff622684aa3 /src/interp/compiler.boot | |
parent | 1ca37b944b566ef3f0479d4c2fe6895e9fbd3785 (diff) | |
download | open-axiom-97463cc77bbec1c33f46ceb44584a180264682c3.tar.gz |
* boot/tokens.boot: Don't rename nreverse.
* boot/utility.boot (reverse!): Define.
* boot/parser.boot: Use reverse! instead of NREVERSE.
* boot/ast.boot: Generate reverse! forms instead of NREVERSE.
Diffstat (limited to 'src/interp/compiler.boot')
-rw-r--r-- | src/interp/compiler.boot | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index ff7f5787..df6c4848 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -339,8 +339,8 @@ finishLambdaExpression(expr is ["LAMBDA",vars,.],env) == slist => SUBLISNQ(slist,CDDR expandedFunction) CDDR expandedFunction if scode ~= nil then - body := [['%bind,nreverse scode,:body]] - vec := ['%vector,:nreverse vec] + body := [['%bind,reverse! scode,:body]] + vec := ['%vector,:reverse! vec] ["LAMBDA",[:vars,"$$"],:body] fname := ["CLOSEDFN",expandedFunction] --Like QUOTE, but gets compiled ["CONS",fname,vec] @@ -2088,7 +2088,7 @@ compMatchScrutinee(form,e) == [x,m,e] := compOrCroak(expr,$EmptyMode,e) Xs := [x,:Xs] Ms := [m,:Ms] - [["%Comma",:nreverse Xs], ["%Cross",:nreverse Ms],e] + [["%Comma",:reverse! Xs], ["%Cross",:reverse! Ms],e] compOrCroak(form,$EmptyMode,e) ++ Subroutine of compMatch. We just finished semantics analysis of @@ -2145,7 +2145,7 @@ compAlternativeGuard(sn,sm,pat,e) == guards := [guard,:guards] inits := [init,:inits] ok := false - ok => [['%and,:nreverse guards],append/nreverse inits,e,originalEnv] + ok => [['%and,:reverse! guards],append/reverse! inits,e,originalEnv] nil compAlternativeGuardItem(sn,sm,pat,e) @@ -2188,9 +2188,9 @@ compMatch(["%Match",subject,altBlock],m,env) == $catchAllCount = 0 => stackAndThrow('"missing %b otherwise %d alternative in case pattern",nil) code := - IDENTP sn => ['%bind,[[sn,se]],['%when,:nreverse altsCode]] + IDENTP sn => ['%bind,[[sn,se]],['%when,:reverse! altsCode]] ["%bind",[[n,e] for n in sn for e in rest se], - ['%when,:nreverse altsCode]] + ['%when,:reverse! altsCode]] [code,m,savedEnv] ++ Compile the form scheme `x'. @@ -2542,7 +2542,7 @@ compUnnamedMapping(parms,source,target,body,env) == gatherParameterList vars == main(vars,nil,nil) where main(vars,parms,source) == - vars = nil => [nreverse parms,nreverse source] + vars = nil => [reverse! parms,reverse! source] atom vars or vars is [":",:.] => [[x] for x in check vars] [v,s] := check first vars main(rest vars,[v,:parms],[s,:source]) |