Age | Commit message (Collapse) | Author | Files | Lines |
|
resulting functor if not cachable.
* interp/clam.boot (compClam): Tidy.
(compHash): Likewise.
(compHashGlobal): Likewise.
* interp/i-eval.boot (evalForm): Use LAMBDA, not LAM.
* interp/i-coerce.boot (getSubDomainPredicate): Use %lambda not LAM.
|
|
(backendCompileSLAM): Use it.
(backendCompileSPADSLAM): Likewise.
* interp/clam.boot (compHash): Likewise.
Do not synthetize new parameter for unary constructors.
|
|
* interp/clam.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/vmlisp.lisp (APPLX): Remove.
|
|
argument list. Tidy.
|
|
devaluate argument of unary constructors.
|
|
($lamName): Rename from *LAM-NAME*.
|
|
Rename to removeFluids.
(SIMPLE-ARGLIST): Move to lisp-backend.boot. Rename to
simpleParameterList?.
|
|
(compileLispDefinition): Move to lisp-backend.boot.
|
|
* interp/int-top.boot (intloopSpadProcess): Likewise.
* interp/sys-macros.lisp (funcall): Remove.
(Catch): Likewise.
(Throw): Likewise.
(UnwindProtect): Likewise.
(SPADCATCH): Likewise.
(SPADTHROW): Likewise.
(YIELD): Likewise.
|
|
%imulmod.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* interp/c-util.boot (devaluate): Use # in lieu of QVSIZE.
* interp/g-opt.boot: %ilfshift and %irshift are now builtin
side-effect free operations.
* interp/lisp-backend.boot: Translate them.
* interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE.
* interp/slam.boot: Likewise.
* interp/sys-macros.lisp: Likewise.
* interp/macros.lisp: Avoid QVMAXINDEX.
* interp/vmlisp.lisp (QSDIFFERENCE): Remove.
(QSGREATERP): Likewise.
(QSLEFTSHIFT): Likewise.
(QSLESSP): Likewise.
(QSMAX): Likewise.
(QSMIN): Likewise.
(QSMINUS): Likewise.
(QSMINUSP): Likewise.
(QSODDP): Likewise.
(QSABSVAL): Likewise.
(QSPLUS): Likewise.
(QSZEROP): Likewise.
(QVMAXINDEX): Likewise.
(QVSIZE): Likewise.
(ZERO?): Likewise.
|
|
%isubmod, and %imulmod.
* interp/g-opt.boot: These are now builtin side-effect operators.
(optIaddmod): New optimizer. Register.
(optIsubmod): Likewise.
(optImulmod): Likewise.
* interp/sys-macros.lisp (QSADDMOD): Remove.
(QSDIFMOD): Likewise.
(QSMULMOD): Likewise.
|
|
* interp/fortcall.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/i-analy.boot: Compare to 0 in lieu of ZEROP.
* interp/i-special.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/sfsfun.boot: Likewise.
* interp/sys-driver.boot: Likewise.
* interp/macros.lisp: Directly use 1+ instead of QADD1.
* interp/preparse.lisp: Likewise.
* interp/slam.boot: Likewise.
* interp/sys-macros.lisp: Likewise.
* interp/sys-constants.boot ($BasicPredicates): Remove as unused.
* interp/vmlisp.lisp (ADD1): Remove.
(QSADD1): Likewise.
(QSSUB1): Likewise.
(QSTIMES): Likewise.
|
|
* interp/i-intern.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/i-output.boot: Use abstractChar, not EBCDIC.
* interp/i-util.boot: Likewise.
* interp/vmlisp.lisp (EBCDIC): Remove.
(CALLBELOW): Likewise.
(RE-ENABLE-INT): Likewise.
(QUOREM): Likewise.
|
|
* algebra/sex.spad.pamphlet: Use %float? instead of RNUM.
Use %integer? instead of INTP.
* interp/g-timer.boot: Use float? instead of RNUMP.
* interp/i-coerce.boot: Use fixnum? instead of SINTP or SMINTP.
* interp/i-intern.boot: Likewise.
* interp/lisp-backend.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/vmlisp.lisp: Likewise.
(INTP): Remove.
(BINTP): Likewise.
(LESSP): Likewise.
(LINTP): Likewise.
(MAKESTRING): Likewise.
(MAPELT): Likewise.
(NUMP): Likewise.
(RNUMP): Likewise.
(SINTP): Likewise.
(SMINTP): Likewise.
|
|
* interp/macros.lisp: Likewise.
* interp/parsing.lisp: Likewise.
* interp/sys-macros.lisp: Likewise.
* interp/vmlisp.lisp: Likewise.
(IDENTP): Remove.
|
|
floating point literals too. Adjust callers.
(bfLessp): Check for integer or floating pointer numbers.
* interp/vmlisp.lisp (complex?): New.
(complex): Likewise.
(realPart): Likewise.
(imagPart): Likewise.
(conjugate): Likewise.
(sqrt): Likewise.
|
|
(compWithMappingMode): Use %lambda not LAMBDA.
* interp/g-opt.boot (changeVariableDefinitionToStore): Handle %closure.
|
|
* interp/clammed.boot: Use it in lieu of GENSYMP.
* interp/debug.lisp: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/vmlisp.lisp (GENSYMP): Remove.
|
|
SemiGroupOperation T.
|
|
(optDeltaEntry): Implement better patch for last change.
* interp/compiler.boot (compFormWithModemap): Undo last change.
|
|
resolution as appropriate.
|
|
operators as such, and local functions as such.
(freeVarUsage): Do not count external and local functions.
(extractCode): Tidy. Handle closure literals.
* interp/g-opt.boot (optCall): Optimize external calls where
possible.
%external is a side-effect free operator.
|
|
(bindingForm?): New.
(usesVariable?): Likewise.
* interp/compiler.boot (declareUnusedParameters): Use it.
* interp/g-opt.boot (inlineLocals): Likewise.
(optClosure): Likewise.
(optBind): Likewise.
* interp/define.boot (compContained): Remove.
|
|
* interp/compiler.boot (compUnnamedMapping): Fix thinko.
* interp/g-opt.boot (semiSimpleRelativeTo?): Likewise.
|
|
(compWithMappingMode): Likewise.
(compUnnamedMapping): Likewise.
(extractCode): Simplify.
* interp/g-opt.boot (optClosure): New. Register.
(semiSimpleRelativeTo?): An abstraction is always semisimple.
* interp/nruncomp.boot ($killOptimizeIfTrue): Remove.
(optDeltaEntry): Don't test for it.
|
|
extractCodeAndConstructTriple. Change Arity. Tidy. Adjust callers.
|
|
(extractCodeAndConstructTriple): Likewise.
* interp/g-opt.boot (optCall): Adjust.
|
|
|
|
(BinaryOperation): Likewise.
(IdempotentOperatorCategory): Likewise.
(SemiGroupOperatorCategory): Likewise.
(SemiGroupOperation): Likewise.
(MonoidOperatorCategory): Likewise.
(MonoidOperation): Likewise.
* algebra/exposed.lsp.pamphlet: Expose them.
* algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC,
SGPOPC, SPGOP, MONOPC, BINOPC.
(axiom_algebra_layer_1): Include MONOP.
|
|
* interp/spad-parser.boot (parseCategory): Accept exported properties.
(parseFormula): New.
|
|
* interp/lisp-backend.boot (expandApply): Remove.
Unregister expander.
* interp/g-opt.boot (optCall): applyFun is not longer an opcode.
Look for %apply.
* interp/compiler.boot (applyMapping): Generate ['%call,['%apply,.]]
form, not ['%apply,..] form.
(extractCodeAndConstructTriple): Tidy.
(compApplication): Likewise.
|
|
(getArgumentDesignator): Likewise.
(getToken): Use it.
* interp/parsing.lisp (GET-NUMBER-TOKEN): Remove.
* interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Move to spad.lisp.
(SPAD): Likewise.
(READ-SPAD1): Likewise.
(TEST): Remove.
(GET-ARGUMENT-DESIGNATOR-TOKEN): Likewise.
|
|
from parentsOfBuiltinInstance.
* interp/buildom.boot (parentsOfBuiltinInstance): Tidy.
|
|
|
|
external name printing. Do not call ncParseFromString.
|
|
(Dioid): New. Extend OrderedAbelianMonoid and SemiRing.
* algebra/exposed.lsp.pamphlet: Expose Dioid.
|
|
|
|
Adjust callers.
* interp/database.boot (genericInstanceForm): New.
* interp/buildom.boot (parentsOfBuiltinInstance): New.
(builtinInstanceForm): Likewise.
* interp/br-data.boot (genericParentsOf): New.
(parentsOfForm): Use it,
(ancestorsRecur): Likewise.
* interp/br-con.boot (originInOrder): Use parentsOfForm.
|
|
(depthAssoc): Tidy.
(NRTmakeCategoryAlist): Tidy.
|
|
(NRTmakeCategoryAlist): Don't call NRTcatCompare. Tidy.
|
|
argument. Avoid globals. Adjust Callers.
(depthAssoc): Likewise. Adjust Caller.
(NRTmakeCategoryAlist): Remove uses of $depthAssocCache.
|
|
* interp/category.boot (Join): Handle empty argument list.
|
|
Adjust callers.
* interp/br-data.boot (getParentsForDomain): Remove.
(parentsOf): Call getParentsFor in lieu of getParentsForDomain.
(folks): Move to define.boot.
|
|
* interp/define.boot (compDefineCategory2): Likewise.
|
|
|
|
(explodeIfs): Likewise.
(getParentsForDomain): Tidy.
|
|
(explodeIfs): Likewise.
|
|
CATEGORY and SubsetCategory forms.
|
|
* interp/define.boot (mkEvalableCategoryForm): Use it. Tidy.
|
|
function expressions.
($VMsideEffectFreeOperators): Don't include %funcall.
($simpleVMoperators): Include it.
|