diff options
author | dos-reis <gdr@axiomatics.org> | 2010-05-27 05:43:57 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-05-27 05:43:57 +0000 |
commit | 8f5399e77de0741651b0d058b1aa7f57f43aedb0 (patch) | |
tree | 99afff91fbcc1a5b0668cb62c703bd52e3ecbbd6 /src/interp/i-spec1.boot | |
parent | a7e98a2ab2fcc87c3505ab11708d5bf24607ae85 (diff) | |
download | open-axiom-8f5399e77de0741651b0d058b1aa7f57f43aedb0.tar.gz |
* interp/i-map.boot (compileCoerceMap): Minivectors are global
variables. Generate appropriate code.
* interp/i-spec1.boot (compileTargetedADEF): Likewise.
(compileADEFBody): Likewise.
* interp/slam.boot (isRecurrenceRelation): Likewise. Adjust
patterns to match minivectors.
(mkDiffAssoc): Likewise.
(reportFunctionCompilation): Don't declare minivectors.
Diffstat (limited to 'src/interp/i-spec1.boot')
-rw-r--r-- | src/interp/i-spec1.boot | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot index 2b3b5ba3..4164d514 100644 --- a/src/interp/i-spec1.boot +++ b/src/interp/i-spec1.boot @@ -153,8 +153,8 @@ compileTargetedADEF(t,vars,types,body) == compileADEFBody(t,vars,types,body,computedResultType) == --+ $compiledOpNameList := [$mapName] - minivectorName := makeInternalMapMinivectorName(PNAME $mapName) - body := substitute(minivectorName,"$$$",body) + minivectorName := makeInternalMapMinivectorName PNAME $mapName + body := substitute(["%dynval",MKQ minivectorName],"$$$",body) setDynamicBinding(minivectorName,LIST2VEC $minivector) -- The use of the three variables $definingMap, $genValue and $compilingMap @@ -177,9 +177,7 @@ compileADEFBody(t,vars,types,body,computedResultType) == -- MCD 13/3/96 parms := [:vars,"envArg"] if not $definingMap and ($genValue or $compilingMap) then - fun := [$mapName,["LAMBDA",parms, - declareGlobalVariables [minivectorName], - :declareUnusedParameters(parms,body)]] + fun := [$mapName,["LAMBDA",parms,:declareUnusedParameters(parms,body)]] code := wrap compileInteractive fun else $freeVariables: local := [] |