Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
comparaison, not object comparaison.
|
|
$NEWSPAD since it always true. Keep note of Lisp-level special
variable even if it is set with SETQ.
(transformToBackendCode): Declare special variables before fluid
and local variables.
* interp/compiler.boot: Don't compile SETQ forms as if they were
Spad codes.
|
|
(transformToBackendCode): Use it to clean function body.
|
|
* interp/c-util.boot (middleEndExpand): Temporarilty Comment out
signature.
|
|
|
|
* interp/nruncomp.boot (NRTsetVector4a): Tidy.
|
|
|
|
(compAdd): Use it to promote base domains for inlining.
* interp/c-util.boot (lookupFunctionInstance): Foeld into
lookupDefiningFunction. Remove.
(lookupDefiningFunction): Evaluate only system domains to avoid
cycles.
|
|
* interp/compiler.boot (setqMultiple): Use it.
(compColon): Likewise.
(compRetractGuard): Likewise.
(compRecoverDomain): Likewise.
(defineMatchScrutinee): Likewise.
(compStepIterator): Likewise.
(compIterator): Likewise.
(compUnnamedMapping): Likewise.
* interp/define.boot (giveFormalParametersValues): Likewise.
* interp/wi1.boot (setqMultiple): Likewise.
* interp/wi2.boot (compIterator): Likewise.
(smallIntegerStep): Likewise.
|
|
* interp/define.boot (checkRepresentation): Don't compile the base
domain here yet.
|
|
forwarding function if possible.
|
|
* interp/compiler.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
domain modemap references here.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include more
floating point operators.
($simpleVMoperators): Move FUNCALL here.
(isVMConstantForm): Tidy.
* interp/g-util.boot: Expand more floating point insns.
* interp/c-util.boot (replaceSimpleFunctions): Replace more
constants.
* algebra/integer.spad.pamphlet (Integer): More cleanup. Use
builtin functions.
* algebra/sf.spad.pamphlet: Likewise.
|
|
appropriate.
* interp/g-opt.boot (jumpToToplevel?): New.
(singleAssignment?): Likewise.
(groupVariableDefinitions): Likewise. Use them.
(optimizeFunctionDef): Group toplevel variable definitions into
a bind expression.
* interp/g-util.boot (expandBind): Tidy.
* interp/c-util.boot (transformToBackendCode): Refrain from
enclosing let-expressions in SEQ if not needed.
|
|
expansion pass after new opcode expansion.
|
|
* interp/c-util.boot (isLispSpecialVariable): Tidy.
(transformToBackendCode): Likewise.
|
|
(mutateToBackendCode): Use it to record special vars.
Be careful with locally bound variables.
|
|
SETQ by LETT.
|
|
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
|
|
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/database.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
|
|
* interp/c-util.boot ($SetCategory): New constant.
* interp/compiler.boot: Use it.
* interp/functor.boot: Likewise.
|
|
(declareUnusedParameters): Use it. Reimplement.
* interp/i-map.boot (compileCoerceMap): Adjust call.
* interp/i-spec1.boot (compileADEFBody): Likewise.
(mkIterFun): Likewise.
* interp/slam.boot (reportFunctionCompilation): Likewise.
(reportFunctionCacheAll): Likewise.
(compileRecurrenceRelation): Likewise.
|
|
* interp/g-util.boot (expandToVMForm): Likewise.
(expandStore): Refine store to pair components.
* algebra/any.spad.pamphlet (Scope): Use builtin operators.
(Environment): Likewise.
* algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise.
(ConstructorCall): Likewise.
(FunctorData): Likewise.
(OperatorSignature): Likewise.
(Category): Likewise.
(Domain): Likewise.
* algebra/integer.spad.pamphlet (Integer): Likewise.
(NonNegativeInteger): Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/syntax.spad.pamphlet (Syntax): Likewise.
|
|
|
|
foreign language.
(checkExternalEntity): Likewise.
(compSignatureImport): Likewise. Give foreign variables dummy values.
* interp/c-util.boot (middleEndExpand): Handle %true and %false.
* interp/g-util.boot (expandToVMForm): Likewise.
|
|
|
|
* interp/slam.boot (reportFunctionCompilation): Tidy. Take extra
care when generating code that access global variables.
(reportFunctionCacheAll): Likewise.
* interp/i-util.boot (isLocallyBound): Define.
* interp/i-spec1.boot (upCOLLECT1): Bind $iteratorVars to nil.
(upLoopIterSTEP): Call mkIteratorVariable instead of mkLocalVar.
(upLoopIterIN): Likewise.
(upStreamIterIN): Likewise.
(upStreamIterSTEP): Likewise.
(collectOneStream): Tidy.
(mkAndApplyPredicates): Likewise.
(mkIterFun): Lose last parameter. Tidy.
(declare): Use isLocallyBound.
(getAndEvalConstructorArgument): Likewise.
(mkIteratorVariable): New.
($iteratorVars): New.
* interp/i-spec2.boot (upREPEAT1): Bind $iteratorVars to nil.
(isLocalPred): Use isLocallyBound.
(compileIs): Likewise.
(evalLETput): Likewise.
(evalLETchangeValue): Likewise.
(isType): Likewise.
* interp/i-analy.boot (bottomUp): Likewise.
(bottomUpDefaultCompile): Likewise.
* interp/i-eval.boot (evalForm): Likewise.
(getMappingArgValue): Likewise.
* interp/i-map.boot (findLocalVars1): Likewise.
(findLocalsInLoop): Tidy. Filter out iterator variables.
(isLocalVar): Remove.
* interp/g-util.boot (mkCacheName): Define here.
(mkAuxiliaryName): Likewise.
* interp/c-util.boot (backendCompileSLAM): Use mkCacheName.
(backendCompileSPADSLAM): Likewise.
* interp/clam.boot (compClam): Likewise.
(clearCategoryCaches): Likewise.
(clearCategoryCache): Likewise.
* interp/g-timer.boot (timedEVALFUN): expandToVMForm is now
implicitly called by eval.
|
|
lowerCase?, upperCase?, readByte, readInteger, readLine,
writeByte, writeLine.
* interp/as.boot: Use them.
* interp/bc-matrix.boot: Likewise.
* interp/bc-solve.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/database.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/define.boot (compDefineCapsuleFunction): Use it in place
of special character.
(spadCompileOrSetq): Likewise.
* interp/i-map.boot (addMap): Likewise.
(getUserIdentifiersIn): Likewise.
* interp/wi1.boot (spadCompileOrSetq): Likewise.
|
|
%and, %or, and %bind forms.
* interp/c-util.boot (mutateToBackendCode): Handle LET and LET* forms.
* interp/nrungo.boot (NRTisRecurrenceRelation): Move to ...
* interp/slam.boot: Here. Remove NRT prefix.
(compileRecurrenceRelation): Generate forms using middle-end opcodes.
|
|
* interp/c-util.boot (middleEndExpand): Tidy.
* interp/g-opt.boot (changeThrowToExit): Don't look into %collect
forms.
* interp/i-map.boot (getUserIdentifiersIn): Factorize. Handle
%collect forms same as COLLECT forms.
(findLocalVars1): Likewise.
* interp/i-spec1.boot (evalCOLLECT): Now generate %collect forms.
(checkForFreeVariables): Factorize. Handle %collect forms same as
COLLECT forms.
|
|
(getOpcodeExpander): move to here from c-util.boot.
($middleEndOpcodes): Likewise.
|
|
|
|
(getOpcodeExpander): Likewise.
(middleEndExpand): Use it to expand middle end opcodes.
|
|
* boot/ast.boot: Replace GENSYM with gensym.
* interp/buildom.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/server.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/sys-constants.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* interp/word.boot: Use it.
* interp/topics.boot: Likewise.
* interp/sys-driver.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/database.boot: Likewise.
* interp/compress.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/sys-globals.boot ($ConstructorCache): Move elsewhere.
($instantRecord): Likewise.
* algebra/newdata.spad.pamphlet: Use EQUAL as equality function
for hash table.
* algebra/table.spad.pamphlet: Call hashTable builtin function
instead of MAKE-HASHTABLE.
|
|
* boot/parser.boot (bpLambda): New.
* boot/ast.boot (bfLambda): New.
* boot/tokens.boot: Add "+->" as token.
* interp/cparse.boot: Use lambda expression syntax.
* interp/c-util.boot: Likewise.
|
|
|
|
|
|
|
|
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/sys-os.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/wi1.boot: Likewise.
|
|
assignments to first and rest fields.
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/wi1.boot: Likewise.
|
|
* interp/topics.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/define.boot: Likewise.
* interp/database.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-data.boot: Likewise.
|
|
assignment to first and rest fields.
* interp/astr.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/compress.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/packtran.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* lisp/core.lisp.in ($FilesToRetain): New. Export.
* lisp/Makefile.in: Tidy.
* boot/translator.boot (retainFile?): New.
(compileBootHandler): Use it.
|