aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-macros.lisp
AgeCommit message (Collapse)AuthorFilesLines
2010-05-28 * interp/sys-utility.boot (eval): Define here.dos-reis1-4/+1
* interp/br-con.boot: Use it. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/cattable.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/server.boot: Likewise. * interp/showimp.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-macros.lisp (eval): Move to sys-utility.boot.
2010-05-27 * interp/sys-macros.lisp (eval): Expand opcodes before calling EVAL.dos-reis1-1/+1
* 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.
2009-07-05 * interp/c-util.boot ($middleEndMacroList): Remove COLLECTV.dos-reis1-65/+0
* interp/compiler.boot: Don't register compiler for COLLECTV forms. (compReduce1): Don't test for COLLECTV. (localReferenceIfThere): New. (compRepeatOrCollect): Use it. Tidy. (compCollectV): Remove. (compIteratorV): Likewise. (computeMaxIndex): Likewise. (exprDifference): Likewise. * interp/g-opt.boot (optCollectVector): New. Register as back end tranformer. * interp/sys-macros.lisp (COLLECTV): Remove.
2009-07-03 * interp/sys-macros.lisp (PRIMVEC2ARR): Remove.dos-reis1-10/+1
(COLLECTVEC): Likewise. * interp/compiler.boot (compRepeatOrCollect): Tidy.
2009-07-02 * interp/sys-macros.lisp (COLLECTV): Use setSimpleArrayEntry, notdos-reis1-1/+1
SETELT.
2009-06-01 * interp/compiler.boot (compGreaterThan): New. Compiledos-reis1-0/+3
greater-than expressions. * interp/parse.boot (parseGreaterThan): Remove. * algebra/data.spad.pamphlet (Byte): Implement all comparison functions. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/string.spad.pamphlet (Character): Likewise.
2009-04-27 * interp/sys-macros.lisp (makeSimpleArrayFromList): New.dos-reis1-0/+3
* algebra/array1.spad.pamphlet (construct$PrimitiveArray): Implement. (copy$PrimitiveArray): Likewise. (IndexedOneDimensionalArray): Rework. Explicitly use PrimitiveArray(S) as representation domain.
2008-11-17 * lisp/core.lisp.in (|getOptionValue|): Make second argument optional.dos-reis1-0/+5
* interp/sys-driver.boot (initializeGlobalState): Set $compileExportsOnly. * interp/lisplib.boot (compDefineExports): New. * interp/define.boot (skipCategoryPackage?): New. (compDefineCategory1): Use it. (compDefineFunctor): Don't compile to NRLIB if interested only in exports. (compDefineFunctor1): Honor $compileExportsOnly. * interp/sys-macros.lisp (|withOutputFile|): New. * interp/sys-utility.boot (quoteForm): Likewise.
2008-11-16 * interp/c-util.boot: Clean up.dos-reis1-5/+3
* interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-output.boot: Likewise. * interp/macros.lisp: Likewise. * interp/nrungo.boot: Likewise. * interp/preparse.lisp: Likewise. * interp/spad.lisp: Likewise. * interp/sys-macros.lisp: Likewise. * interp/trace.boot: Likewise. * interp/types.boot: Likewise. * interp/vmlisp.lisp: Likewise. * interp/word.boot: Likewise.
2008-11-15 * interp/compiler.boot: Import "msgdb", not "c-util". Movedos-reis1-0/+3
compiler driver to i-syscmd.boot. * interp/define.boot: Import "nruncomp", "functor", "package". * interp/wi2.boot (NRTgetLocalIndex): Remove duplicate.
2008-10-31 * interp/sys-macros.lisp (APPEND2): Remove.dos-reis1-3/+0
2008-10-06 * interp/sys-macros.lisp (|quietlyIfInteractive|): New.dos-reis1-0/+6
* interp/compiler.boot (quietlyIfInteractive): Use it. (compQuietly): Likewise. (compileQuietly): Likewise.
2008-09-21 * interp/sys-macros.lisp (|byteEqual|): New.dos-reis1-2/+5
* algebra/boolean.spad.pamphlet (PropositionalLogic): Extend SetCategory. (PropositionalFormula): Now unconditional exports coercion to OutputForm. Adjust implementation. (KleeneTrivalentLogic): New. * algebra/data.spad.pamphlet (Byte): Tidy. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Move PROPLOG to layer 1.
2008-08-13 (|COMP,TRAN|): Remove.dos-reis1-1/+1
(|spadHash|): Likewise. (|$internalHistoryTable|): Don't define here. (|isBpiOrLambda|): Remove. (|libraryFileLists|): Likewise. (|normalizeArgFileName|): Likewise. (save-system) [LUCID]: Likewise. (|undoINITIALIZE|): Likewise. (|isLowerCaseLetter|): Don't define here. (|isUpperCaseLetter|): Likewise. (|isLetter|): Likewise. (printCopyright): Remove. (user-homedir-pathname): Likewise. (BUMPCOMPERRORCOUNT): Likewise. (|cpCms|): Likewise. (|normalizeTimeAndStringify|): Likewise. (whocalled): Likewise. (|compressHashTable|): Likewise. (SETLETPRINTFLAG): Don't define here. (RESTART0): Move to sys-driver.boot * interp/g-util.boot (charRangeTest): Remove.
2008-07-07 * interp/spad.lisp (S-PROCESS): Remove Old Boot specific codes.dos-reis1-2/+2
* interp/server.boot (parseAndInterpret): Don't set $BOOT. * interp/setvars.boot (resetWorkspaceVariables): Likewise. * interp/spad-parser.boot (parseSpadFile): Likewise. * interp/postpar.boot: Disable Old Boot handling codes. * interp/metalex.lisp (quote-if-string): Don't test for $BOOT. * interp/parsing.lisp (IOStat): Likewise. (IOClear): Likewise. * interp/ht-util.boot (parseAndEval): Don't set $BOOT. * interp/int-top.boot (ncTopLevel): Likewise. * interp/fnewmeta.lisp: Remove Old Boot specific productions. * interp/sys-macros.lisp (-REDUCE): Don't test for $BOOT. (SPADDO): Likewise. * interp/comp.lisp (COMP-TRAN-1): Likewise. * interp/util.lisp (|string2SpadTree|): Likewise. * interp/bootlex.lisp (READBOOT): Remove. (READ-BOOT): Likewise. (spad): Don't initialize $BOOT. * interp/debug.lisp (/D-2): Likewise.
2008-04-21Fix thinkodos-reis1-2/+2
2008-04-21Add support for byte values, and byte buffers.dos-reis1-0/+36
2008-03-25 * interp/bootlex.lisp: Import "sys-globals". dos-reis1-1/+1
Consistently use $InputStream and $OutputStream for I/O. * interp/c-util.boot: Likewise. * interp/comp.lisp: Likewise. * interp/compat.boot: Likewise. * interp/debug.lisp: Likewise. * interp/def.lisp: Likewise. * interp/g-error.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/int-top.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macros.lisp: Likewise. * interp/metalex.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/patches.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/server.boot: Likewise. * interp/spad-parser.boot: Likewise. * interp/spad.lisp: Likewise. * interp/sys-globals.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/sys-os.boot: Likewise. * interp/unlisp.lisp: Likewise. * interp/vmlisp.lisp: Likewise. * interp/Makefile.pamphlet (bootlex.$(FASLEXT)): Require sys-globals.$(FASLEXT) too. (vmlisp.$(FASLEXT)): Likewise.
2008-03-24Add support for SBCL and CLispdos-reis1-4/+4
2008-01-31Clean up unlisp.lisp.dos-reis1-0/+17
2007-11-25 * Makefile.pamphlet (patches.$(FASLEXT)): New rule.dos-reis1-0/+7
(setvars.$(FASLEXT)): Likewise. (osyscmd.$(FASLEXT)): Likewise. (intint.$(FASLEXT)): Likewise. (int-top.$(FASLEXT)): Likewise. (wi2.$(FASLEXT)): Likewise. (wi1.$(FASLEXT)): Likewise. (template.$(FASLEXT)): Likewise. (package.$(FASLEXT)): Likewise. (xruncomp.$(FASLEXT)): Likewise. (interop.$(FASLEXT)): Likewise. (mark.$(FASLEXT)): Likewise. (daase.$(FASLEXT)): Likewise. (monitor.$(FASLEXT)): Likewise. (hashcode.$(FASLEXT)): Likewise. (pspad2.$(FASLEXT)): Likewise. (pspad1.$(FASLEXT)): Likewise. (nocompil.$(FASLEXT)): Likewise. (fname.$(FASLEXT)): Likewise.
2007-11-07 * Makefile.pamphlet (i-toplev.$(FASLEXT)): New rule.dos-reis1-0/+10
(i-syscmd.$(FASLEXT)): Likewise. (i-spec2.$(FASLEXT)): Likewise. (i-spec1.$(FASLEXT)): Likewise. (i-funsel.$(FASLEXT)): Likewise. (i-map.$(FASLEXT)): Likewise. (i-eval.$(FASLEXT)): Likewise. (i-coerfn.$(FASLEXT)): Likewise. (i-coerce.$(FASLEXT)): Likewise. (i-resolv.$(FASLEXT)): Likewise. (i-analy.$(FASLEXT)): Likewise. (i-code.$(FASLEXT)): Likewise. (i-intern.$(FASLEXT)): Likewise. (<<i-analy.clisp>>): Remove. (<<i-code.clisp>>): Likewise. (<<i-coerce.clisp>>): Likewise. (<<i-coerfn.clisp>>): Likewise. (<<i-eval.clisp>>): Likewise. (<<i-funsel.clisp>>): Likewise. (<<i-intern.clisp>>): Likewise. (<<i-map.clisp>>): Likewise. (<<i-resolv.clisp>>): Likewise. (<<i-spec1.clisp>>): Likewise. (<<i-spec2.clisp>>): Likewise. (<<i-syscmd.clisp>>): Likewise. (<<i-toplev.clisp>>): Likewise. (<<i-util.clisp>>): Likewise. * apply.boot (compFormWithModemap): Fix syntax. * i-analy.boot.pamphlet: Push into package "BOOT". * i-code.boot.pamphlet: Likewise. * i-coerce.boot.pamphlet: Likewise. * i-coerfn.boot.pamphlet: Likewise. * i-eval.boot.pamphlet: Likewise. * i-funsel.boot.pamphlet: Likewise. * i-intern.boot.pamphlet: Likewise. * i-map.boot.pamphlet: Likewise. * i-resolv.boot.pamphlet: Likewise. * i-spec1.boot.pamphlet: Likewise. * i-spec2.boot.pamphlet: Likewise. * i-syscmd.bot.pamphlet: Likewise. * i-toplev.boot.pamphlet: Likewise. * i-util.boot.pamphlet: Likewise.
2007-10-12 * Makefile.pamphlet (${DEPSYS}): Depend on g-util.$(FASLEXT).dos-reis1-0/+18
Load explicitly. (<<profile.clisp>>): Remove. (<<g-cndata.clisp>>): Likewise. (<<g-opt.clisp>>): Likewise. (<<g-timer.clisp>>): Likewise. (<<hypertex.clisp>>): Likewise. (<<rulesets.clisp>>): Likewise. (<<ht-util.clisp>>): Likewise. (<<htsetvar.clisp>>): Likewise. (<<ht-root.clisp>>): Likewise. (<<htcheck.clisp>>): Likewise. (ht-root.$(FASLEXT)): New rule. (htcheck.$(FASLEXT)): Likewise. (ht-util.$(FASLEXT)): Likewise. (htsetvar.$(FASLEXT)): Likewise. (hypertex.$(FASLEXT)): Likewise. (profile.$(FASLEXT)): Likewise. (rulesets.$(FASLEXT)): Likewise. (g-opt.$(FASLEXT)): Likewise. (g-timer.$(FASLEXT)): Likewise. (g-util.$(FASLEXT)): Likewise. (g-cndata.$(FASLEXT)): Likewise. * daase.lisp.pamphlet (*attributes*): Move definition to sys-constants.boot. * g-cndata.boot.pamphlet: Push into package "BOOT". Fix syntax. * g-opt.boot.pamphlet: Likewise. (EqualBarGensym): Fix thinko. * g-timer.boot.pamphlet: Push into package "BOOT". * g-util.boot.pamphlet: Likewise. * ht-root.boot.pamphlet: Likewise. Fix syntax. * ht-util.boot.pamphlet: Push into package "BOOT". * htcheck.boot.pamphlet: Likewise. * htsetvar.boot.pamphlet: Likewise. * hypertex.boot.pamphlet: Likewise. Fix syntax. * profile.boot.pamphlet: Likewise. * rulesets.boot.pamphlet: Likewise. * setq.lisp.pamphlet (/VERSION): Move definition to sys-globals.boot. * spad.lisp.pamphlet (/WSNAME): Likewise. (|rplac|): Move to sys-macros.boot.
2007-09-192007-09-19 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-0/+7
* Makefile.pamphlet (all-interpsys): Now depend on all-depsys. src/interp/ 2007-09-19 Gabriel Dos Reis <gdr@cs.tamu.edu> * util.lisp.pamphlet ($directory-list): Move to sys-globals.boot. ($library-directory-list): Likewise. * spad.lisp.pamphlet: Import "bootlex". * preparse.lisp.pamphlet: Import "fnewmeta". * postprop.lisp: Import "macros". * postpar.boot.pamphlet: Import "postprop". * nlib.lisp.pamphlet (rdefiostream): Define unconditionally. (get-io-index-stream): Likewise. (makedir): Likewise. (get-directory-list): Don't use $current-diretory. ($filetype-table): Move to sys-constants.boot. * patches.lisp.pamphlet ($current-directory): Remove. (|cd|): Simplify implementation. * newaux.lisp.pamphlet: Import "macros". (|PARSE-NewKEY|): Define. * metalex.lisp: Move various file, line, stack, character utilities to here. * macros.lisp.pamphlet (NREVERSE0): Move to sys-macros.lisp. Tidy. * fnewmeta.lisp.pamphlet: Import "parsing". * comp.lisp: Import "macros". * def.lisp: Likewise. (B-MDEF): Fix thinko. * bootlex.lisp: Import "preparse", "def", and "nlib". (BOOT-LINE-STACK): Move to metalex.lisp. (NEXT-LINES-CLEAR): Likewise. (NEXT-LINES-SHOW): Likewise. (XCAPE): Likewise. (KEYWORDS): Likewise. * Makefile.pamphlet (${DEPSYS}): Now have all Lisp in compiled form and load them. * bookvol5.pamphlet ($current-directory): Remove.
2007-09-14 * vmlisp.lisp.pamphlet: Don't define package VMLISP. Removedos-reis1-14/+0
export declarations. Import "boot-pkg". * sys-macros.lisp (EQUABLE): Remove definition. * sys-constants.boot ($true): Define as twice quoted T. * hash.lisp.pamphlet: Push into package BOOT, VMLISP. * ggreater.lisp: Likewise. * nlib.lisp.pamphlet: Likewise. * obey.lisp: Likewise. * construc.lisp.pamphlet: Remove reference to VMLISP package. * daase.lisp.pamphlet: Likewise. * debug.lisp.pamphlet: Likewise. * util.lisp.pamphlet: Likewise. * cformat.boot: Remove hack for GCL limitation. * scan.boot: Likewise. * incl.boot: Likewise. * parsing.lisp: Likewise. * bootlex.lisp: Remove reference to VMLISP package. * union.lisp: Likewise. * boot-pkg.lisp: Remove hack for GCL limitation. Don't import "vmlisp" anymore. * bookvol5.pamphlet (vmlisp::$current-directory): Remove. * patches.lisp.pamphlet: Likewise. * astr.boot: Import "vmlisp" instead of "boot-pkg". * Makefile.pamphlet (boot-pkg.$(FASLEXT)): Don't depend on vmlisp.$(FASLEXT). (vmlisp.$(FASLEXT)): Depend on boot=pkg.$(FASLEXT).
2007-09-13 * Makefile.pamphlet (scan.$(FASLEXT)): New rule.dos-reis1-0/+5
(pile.$(FASLEXT)): Likewise. (INOBJS): Don't include parini.$(FASLEXT). * pile.boot: New. Import scan. * pile.boot.pamphlet: Move content to pile.boot. Remove. * vmlisp.lisp.pamphlet (|startsId?|): Move to sys-macros.lisp. * parini.boot.pamphlet: Move content to scan.boot. Remove. * scan.boot: New. Import bits, dq, incl. Add workaround for GCL bug. ($SPACE): Rename from SPACE to avoid conflict with CL name. * scan.boot.pamphlet: Move content to scan.boot. Remove.
2007-09-12 * Makefile.pamphlet (cstream.$(FASLEXT)): New rule.dos-reis1-0/+13
* cstream.boot.pamphlet: Import sys-macros. * sys-macros.lisp (|shoeConsole|): Move from macros.lisp.pamphlet. (|shoeInputFile|): Likewise. (|shoeread-line|): Likewise.
2007-09-10 * sys-macros.lisp: Add ugly work-around about infamous GCL bug.dos-reis1-0/+7
* vmlisp.lisp.pamphlet: Export WRAP. * Makefile.pamphlet (<<buildom.clisp>>): Remove. (buildom.$(FASLEXT)): New rule, setup dependency. * Makefile.in: Regenerate. * buildom.boot.pamphlet: Make compilable by bootsys. Import sys-constants. * setq.lisp.pamphlet (|$Primitives|): Move to sys-constants.
2007-09-09 * sys-macros.lisp: New.dos-reis1-0/+1204
* sys-globals.boot: Import sys-constants. * macros.lisp.pamphlet (|$compilingMape): Move to sys-globals.boot. (|$definingMap|): Likewise. ($TRACELETFLAG): Likewise. ($NEWSPAD): Likewise. ($BOOT): Likewise. (MOAN): Move to diagnostic.boot (FAIL): Likewise. (KAR): move to sys-macros.lisp (KDR): Likewise. (KADR): Likewise. (KADDR): Likewise. (|function|): Likewise. (|dispatchFunction|): Likewise. (QEQCAR): Likewise. (BOOT-EQUAL): Likewise. (IDENT-CHAR-LIT): Likewise. (EQQUAL): Likewise. (NEQUAL): Likewise. (EQUABLE): Likewise. (MKQ): Likewise. (IS): Likewise. (LETT): Likewise. (SPADLET): Likewise. (RPLAC): Likewise. (CARCDREXPAND): Likewise. (RENAME): Likewise. (CARCDRX1): Likewise. (APPLYR): Likewise. (REPEAT): Likewise. (REPEAT-TRAN): Likewise. (MKPF): Likewise. (MKPFFLATTEN): Likewise. (MKPFFLATTEN-1): Likewise. (MKPF1): Likewise. (-REPEAT): Likewise. (SEQOPT): Likewise. (SUCHTHATCLAUSE): Likewise. (SPADDO): Likewise. (SPAD_LET): Likewise. (COLLECT): Likewise. (COLLECTVEC): Likewise. (COLLECTV): Likewise. (MKQSADD1): Likewise. (YIELD): Likewise. (REMFLAG): Likewise. (FLAGP): Likewise. (INTERNL): Likewise. (SPADCATCH): Likewise. (SPADTHROW): Likewise. (IEQUAL): Likewise. (GE): Likewise. (GT): Likewise. (LE): Likewise. (LT): Likewise. (QSADDMOD): Likewise. (QSDIFMOD): Likewise. (QSMULTMOD): Likewise. (NLIST): Likewise. (SPADREDUCE): Likewise. (AND2): Likewise. (OR2): Likewise. (REDUCE-1): Likewise. (-REDUCE): Likewise. (-REDUCE-OP): Likewise. (NREVERSE-N): Likewise. (CONS-N): Likewise. (APPEND-N): Likewise. (REDUCE-N): Likewise. (REDUCE-N-1): Likewise. (REDUCE-N-2): Likewise. (THETA): Likewise. (THETA1): Likewise. (THETA_ERROR): Likewise. (SPADFIRST): Likewise. (FIRST-ERROR): Likewise. (ELEM): Likewise. (TAIL): Likewise. (PARTCODET): Likewise. (SPADCALL): Likewise. (S+): Likewise. (S*): Likewise. (S-): Likewise. (DELASC): Likewise. (|char|): Likewise. (MAKE-BF): Likewise. (MAKE-FLOAT): Likewise. * def.lisp.pamphlet (MK_LEFORM): Move to sys-macros.lisp. (MK_LEFORM-CONS): Likewise. * Makefile.pamphlet (${DEPSYS}): Depend on sys-macros.lisp. (sys-globals.$(FASLEXT)): New rule.