aboutsummaryrefslogtreecommitdiff
path: root/src/interp/slam.boot
AgeCommit message (Collapse)AuthorFilesLines
2013-05-29Simplify backend functionsdos-reis1-4/+2
2013-05-29Add DB parameter to middle end functions.dos-reis1-1/+1
2013-05-29Misc cleanups.dos-reis1-1/+1
2013-05-29Misc cleanup.dos-reis1-17/+12
2013-05-11Consistently use OIL opcodes for abstractionsdos-reis1-7/+7
2013-05-09 * interp/i-special.boot (evalIF): Generate OIL intermediatedos-reis1-5/+3
instruction %otherwise, not Lisp expression T. * interp/slam.boot (isRecurrenceRelation): Likewise.
2012-05-21 * interp/vmlisp.lisp (SETANDFILE): Remove.dos-reis1-1/+1
(LAM,EVALANDFILEACTQ): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/slam.boot (reportFunctionCompilation): Tidy. * interp/lisp-backend.boot (evalAndPrintBackendDecl): New. * interp/c-util.boot (backendCompileSPADSLAM): Use it in lieu of SETANDFILE. (compAndDefine): Use evalAndPrintBackendDecl in lieu of PRINT-AND-EVAL-DEFUN. * interp/hypertex.boot: Clean up. * interp/nhyper.boot: Likewise. * interp/word.boot: Likewise.
2012-05-21 * interp/vmlisp.lisp (EVALANDFILEACTQ): Second argument is nodos-reis1-1/+1
longer optional. Adjust callers. (LAM\,EVALANDFILEACTQ): Likewise. * interp/slam.boot (compQuietly): Use printBackendDecl. * interp/spad.lisp (SPAD): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/macros.lisp (SETANDFILE): Move to vmlisp.lisp. * interp/lisp-backend.boot (printBackendStmt): New. (evalAndPrintBackendStmt): Likewise. (printBackendDecl): Likewise. * interp/c-util.boot (registerFunctionReplacement): Use evalAndPrintBackendStmt. (registerRedexForm): Likewise. (proclaimCapsuleFunction): Use printBackendStmt. * interp/Makefile.in (lisp-backend.$(FASLEXT)): Require nlib.$(FASLEXT)
2012-05-20 * interp/parsing.lisp (CONVERSATION): Remove.dos-reis1-1/+10
(CONVERSATION1): Likewise. (MAKE-PARSE-FUNCTION): Likewise. (MAKE-PARSE-FUNCTION1): Likewise. (MAKE-PARSE-FUNC-FLATTEN): Likewise. (MAKE-PARSE-FUNC-FLATTEN-1): Likewise. (TRANSPGVAR): Likewise. (GETRULEFUNLISTS): Likewise. (REDUCTION-PRINT): Likewise. (TRACEMETA): Likewise. (TRMETA): Likewise. (TRMETA1): Likewise. (/MDEF): Likewise. * interp/macros.lisp (EXPAND-TABS): Likewise. * interp/spad.lisp (READ-SPAD): Likewise. (READ-INPUT): Likewise. (READ-SPAD0): Likewise. (READ-SPAD1): Likewise. (READ-SPAD-1): Likewise. (New,ENTRY,1): Likewise. (New,ENTRY,2): Likewise. * interp/bootlex.lisp (SPAD_SYNTAX_ERROR): Move to debug.lisp. (SPAD_LONG_ERROR): Likewise. (SPAD_SHORT_ERROR): Likewise. (SPAD_ERROR_LOC): Likewise. * interp/c-util.boot (COMP370): Move to lisp-backend.boot. (compQuietly): Move to slam.boot.
2012-05-05 * interp/clam.boot (HGETandCount): Remove as unused.dos-reis1-29/+0
(clearHashReferenceCounts): Likewise. (remHashEntriesWithCount): Likewise. (initCache): Likewise. (assocCache): Likewise. (assocCacheShift): Likewise. (assocCacheShiftCount): Likewise. (hputNewProp): Likewise. (lassocShift): Likewise. (lassocShiftQ): Likewise. (globalHashtableStats): Likewise. (constructor2ConstructorForm): Likewise.
2012-05-03 * interp/c-util.boot: Use LAMBDA type in lieu of LAM.dos-reis1-6/+4
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/lisp-backend.boot (COMPILE1): Tidy. * interp/slam.boot: Likewise.
2012-05-03 * interp/c-util.boot: Use APPLY, not APPLX.dos-reis1-2/+2
* interp/clam.boot: Likewise. * interp/i-output.boot: Likewise. * interp/slam.boot: Likewise. * interp/vmlisp.lisp (APPLX): Remove.
2012-05-01 * algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,dos-reis1-2/+2
%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.
2012-04-30 * interp/compiler.boot: Use float? in lieu of FLOATP.dos-reis1-2/+2
* 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.
2012-04-30 * lisp/core.lisp.in (fixnum?): New.dos-reis1-2/+2
* 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.
2011-12-28 * boot/tokens.boot: Remove redundant renaming of REM.dos-reis1-1/+1
loopBody and loopExit are not selectors. * interp/i-output.boot: Include sys-utility. * interp/sys-utility.boot (last): New macro. (loopBody): Likewise. * interp/vmlisp.lisp (LASTNODE): Remove. (LASTPAIR): Likewise. (last): Do not define here.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-1/+1
* boot/utility.boot (drop): Define and export. (take): Likewise. * interp/br-con.boot: Use take, not TAKE; use drop, not DROP. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/guess.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/parse.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. * interp/macros.lisp (DROP): Remove. (TAKE): Likewise.
2011-12-15 * interp/compiler.boot: Rename %loop to %repeat. Propagate.dos-reis1-1/+1
* interp/g-opt.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/lisp-backend.boot: Likewise. * interp/slam.boot: Likewise.
2011-12-13 * interp/g-opt.boot (replaceableTemporary?): Remove.dos-reis1-2/+2
(optSeq,getRidOfTemps): Likewise. (optSeq): Rewrite. * interp/slam.boot (compileRecurrenceRelation): Tidy.
2011-12-07 * interp/compiler.boot (compReduce1): Tidy.dos-reis1-1/+1
* interp/define.boot (compDefineCategory2): Likewise. * interp/nruncomp.boot (buildFunctor): Likewise. * interp/slam.boot (compileRecurrenceRelation): Likewise. * interp/lisp-backend.boot (expandSeq): Use PROGN in absence of EXIT.
2011-11-24 * interp/define.boot: Tidy.dos-reis1-2/+2
* interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise.
2011-11-09 * interp/define.boot (compFunctorBody): First argument is now a DB.dos-reis1-1/+1
Adjustt caller. (incompleteFunctorBody): Likewise. * interp/bc-matrix.boot: Use toString instead of STRINGIMAGE where appropriate. * interp/bc-solve.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/msg.boot: Likewise. * interp/newfort.boot: Likewise. * interp/parse.boot: Likewise. * interp/pathname.boot: Likewise. * interp/setvars.boot: Likewise. * interp/showimp.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise.
2011-09-30 * interp/br-data.boot (lefts): Iterate directly over table.dos-reis1-1/+1
(mkUsersHashTable): Likewise. (mkDependentsHashTable): Likewise. (domainsOf): Likewise. * interp/br-op1.boot (dbShowOpAllDomains): Likewise. * interp/cattable.boot (showCategoryTable): Likewise. (displayCategoryTable): Likewise. (simpTempCategoryTable): Likewise. (simpCategoryTable): Likewise. (genTempCategoryTable): Likewise. (compressHashTable): Likewise. (updateCategoryTableForCategory): Likewise. (clearTempCategoryTable): Likewise. * interp/clam.boot (displayHashtable): Likewise. (reportHashCacheStats): Likewise. (reportInstantiations): Likewise. (globalHashtableStats): Likewise. * interp/guess.boot (buildWordTable): Likewise. * interp/i-syscmd.boot (writify): Likewise. * interp/scan.boot (scanDictCons): Likewise. (scanPunCons): Likewise. * interp/slam.boot (hashCount): Likewise. * interp/topics.boot (mkTopicHashTable): Likewise. (addTopic2Documentation): Likewise. (topics): Likewise. (listOfTopics): Likewise. * interp/word.boot (buildWordTable): Likewise. (writeFunctionTables): Likewise. (bootSearch): Likewise.
2011-08-12 * boot/ast.boot (shoeCompTran1): Translate extended vector-forms.dos-reis1-1/+1
* interp/c-util.boot: Use vector instead of LIST2VEC. * interp/define.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/slam.boot: Likewise.
2011-08-06cleanupdos-reis1-2/+2
2011-05-19more cleanupdos-reis1-4/+4
2011-05-07 * algebra/table.spad.pamphlet (HashTable): Use tableValue insteaddos-reis1-4/+7
of HGET. Use tableLength instead of HCOUNT.
2011-05-06more cleanupdos-reis1-3/+3
2011-05-02more cleanupdos-reis1-1/+1
2011-05-01 * interp/buildom.boot: Replace use of EQSUBSTLIST with applySubst.dos-reis1-1/+1
* interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/hashcode.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/modemap.boot: Likewise. * interp/rulesets.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-macros.lisp (APPLYR, TAILFN, TAIL, rplac): Remove as unused.
2011-04-30 * More cleanupdos-reis1-4/+4
2011-04-22 * boot/utility.boot (copyList): Define.dos-reis1-1/+1
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-1/+1
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-19cleanupdos-reis1-1/+1
2011-04-15misc cleanupdos-reis1-7/+7
2011-02-18Rename %veclit to %vector and %listlit to %listdos-reis1-5/+5
2011-02-04cleanu updos-reis1-1/+1
2011-02-03 * interp/c-util.boot: Replace COND with %when throught.dos-reis1-3/+3
Use %otherwise instead of %true where appropriate. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-code.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-util.boot: Likewise. * interp/info.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/compiler.boot (canReturn): Don't test for COND anymore.
2011-02-03 * interp/slam.boot (reportFunctionCompilation): Use %otherwise,dos-reis1-5/+6
not %true for default cases. (reportFunctionCacheAll): Likewise. (compileRecurrenceRelation): Likewise. * interp/lisp-backend.boot (expandTry): Tidy. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %otherwise. * interp/compiler.boot (compAlternativeGuard): Emit %otherwise form, not Lisp level T form. * interp/clam.boot (compClam): Tidy. (compHash): Likewise. (compHashGlobal): Likewise.
2011-02-02 * interp/clam.boot: Tidy.dos-reis1-18/+18
* interp/slam.boot: Likewise.
2011-01-31 * interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT,dos-reis1-1/+1
QSETVELT-1, QSINC1, QVELT, QVELT-1. * algebra/si.spad.pamphlet: Use %iinc and %idec forms.
2011-01-26 Replace more occurences of LIST with %listlit.dos-reis1-1/+1
2011-01-26 * interp/compiler.boot (compForm1): Use %listlit form.dos-reis1-4/+4
(compExpressionList): Likewise. (compCons1): Likewise. (compList): Likewise. (compVector): Likewise. * interp/g-timer.boot (timedEvaluate): Likewise. * interp/wi1.boot: Likewise. * interp/slam.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/i-object.boot: Likewise. * interp/g-opt.boot (optMkRecord): Likewise. (optRECORDCOPY): Likewise. (optLIST): Remove. (optListlit): New. * interp/g-util.boot (optListlit): New. Expand %listlit forms.
2011-01-19 * interp/vmlisp.lisp (FIXP): Remove.dos-reis1-2/+2
* interp/alql.boot: Use integer? instead of FIXP. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/c-util.boot: Likewise. * interp/fnewmeta.lisp: Likewise. * interp/ht-root.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/setvars.boot: Likewise. * interp/showimp.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/word.boot: Likewise.
2010-12-29SUBSTRING cleanupdos-reis1-1/+1
2010-12-10Clean updos-reis1-1/+1
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis1-6/+6
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/sys-constants.boot: Remove $true and $false as unused.
2010-06-28 * interp/slam.boot (clearCache): Use reallyClearLocalModemaps todos-reis1-4/+17
remove local modemaps.Likewise. (clearLocalModemaps): Likewise. Tidy. (reallyClearLocalModemaps): New. Remove dynamically generated function definition for internal Lisp-level functions.
2010-06-10 * interp/compiler.boot (freeVarUsage): Handle %when too.dos-reis1-2/+2
(compLogicalNot): Generate %not form. (satisfies): Use %bind. (compMatch): Likewise. (compReduce1): Generate %loop directly instead of %reduce. * interp/g-opt.boot (changeThrowToExit): Don't check for %reduce. * interp/g-util.boot (expandRepeat): Remove. (expandReduce): Likewise.
2010-06-04 * interp/br-con.boot: More cleanup.dos-reis1-1/+1
* 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.