aboutsummaryrefslogtreecommitdiff
path: root/src/interp/compiler.boot
AgeCommit message (Collapse)AuthorFilesLines
2011-05-02more cleanupdos-reis1-10/+10
2011-05-01 * boot/utility.boot (applySubstNQ): New.dos-reis1-1/+1
* interp/compiler.boot (finishLambdaExpression): Use it. * interp/i-intern.boot (mkAtreeExpandMacros): Likewise. * interp/i-map.boot (addMap): Likewise. * interp/vmlisp.lisp (SUBLISNQ, SUBANQ, SUBB): Remove.
2011-05-01 * interp/vmlisp.lisp (EQSUBSTLIST): Remove.dos-reis1-3/+5
* interp/c-util.boot (eqSubstAndCopy, eqSubst): Likewise. Adjust callers.
2011-05-01 * interp/buildom.boot: Replace use of EQSUBSTLIST with applySubst.dos-reis1-2/+3
* 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-30cleanupdos-reis1-2/+2
2011-04-29 * boot/utility.boot (assocSymbol): New.dos-reis1-11/+11
(applySubst): Likewise. Export. * boot/ast.boot: Use it. Remove SUBLIS and SUBLISLIS. * interp/ax.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.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/compiler.boot: Likewise.
2011-04-27 * interp/br-util.boot (dbInfovec): Move to c-util.bootdos-reis1-2/+2
2011-04-23 * lisp/core.lisp.in: Export basic types and compiler data types.dos-reis1-21/+21
* interp/modemap.boot (knownInfo): Fix latent bug uncovered by type declarations. * boot/ast.boot: Remove type definitions. (bfIN): Handle DOT as loop variable. (bfON): Likewise. Allow a loop variable to iterator over its own tails. * boot/parser.boot (bfTyping): Simplify. (bpSimpleMapping): Fix thinko.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-7/+7
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-20more cleanupdos-reis1-2/+2
2011-04-19more cleanupdos-reis1-12/+12
2011-04-19cleanupdos-reis1-9/+9
2011-04-18cleanupdos-reis1-56/+57
2011-04-15misc cleanupdos-reis1-1/+1
2011-02-25 * boot/tokens.boot: makeSymbol is not a builtin function.dos-reis1-4/+4
* boot/ast.boot: Use makeSymbol in place of INTERN. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. * interp/alql.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-map.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/g-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/modemap.boot: Likewise. * interp/mark.boot: Likewise. * interp/intfile.boot: Likewise. * interp/interop.boot: Likewise. * interp/incl.boot: Likewise. * interp/word.boot: Likewise. * interp/wi2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/topics.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/showimp.boot: Likewise. * interp/scan.boot: Likewise.
2011-02-24Rename getShellEntry to shellEntry now that it is a macro accessor that ↵dos-reis1-1/+1
designate a place (usable in SETF).
2011-02-24 * interp/sys-macros.lisp (shellEntry): New.dos-reis1-1/+1
* interp/g-util.boot (setShellEntry): Remove. * interp/compiler.boot: Use %store to %tref forms instead of setHSellEntry. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise. * interp/c-util.boot (isSimple): Tidy. (isSideEffectFree): Likewise. (updateCapsuleDirectory): Likewise.
2011-02-24some cleanupsdos-reis1-1/+1
2011-02-22 * boot/tokens.boot: mmSource is a new selector for modemap datatype.dos-reis1-56/+53
* interp/wi1.boot: Likewise. * interp/br-data.boot: Various cleanups. * interp/c-util.boot: Likewise. * interp/compiler.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-util.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/topics.boot: Likewise.
2011-02-18Rename %veclit to %vector and %listlit to %listdos-reis1-8/+8
2011-02-15 * interp/compiler.boot (coerceExtraHard): Explicitly fail ifdos-reis1-1/+3
autoCoerceByModemap fails.
2011-02-14 * interp/compiler.boot (getUnionMode): Remove.dos-reis1-28/+12
(isUnionMode): Move to c-util.boot. (coerceExtraHard): Rework. (belongsTo?): Remove. * interp/c-util.boot (isUnionMode): Moved from compiler.boot. (unionLike?): New. (unionProperty): Likewise. (getInverseEnvironment): Use unionProperty instead of getUnionMode.
2011-02-14 * interp/c-util.boot (getSuccessEnvironment): Follow throughdos-reis1-3/+3
temporaries designating result of assignment. (getInverseEnvironment): Likewise.
2011-02-13 * interp/buildom.boot (mkNewUnionFunList): Align arity ofdos-reis1-4/+2
'case' implementation to declared signature. (mkUnionFunList): Likewise. * interp/compiler.boot (compCase1): 'case' is now unconditionally binary. * interp/g-opt.boot (optCond): Fix thinko.
2011-02-12 * interp/compiler.boot (compCons1): Use coerce not convert.dos-reis1-17/+17
(setqSingle): Likewise. (setqMultiple): Likewise. (compConstruct): Likewise. (compQuote): Likewise. (compElt): Likewise. (compSignatureImport): Likewise. (compComma): Likewise.
2011-02-12 * interp/compiler.boot (compExpressionList): Remove.dos-reis1-7/+0
(compForm1): Don't call it.
2011-02-11 * interp/compiler.boot (canReturn): Don't check for LET*.dos-reis1-1/+1
* interp/g-opt.boot (optLET*): Remove as we now generate only %bind forms.
2011-02-09 Add MappingCategory as a (builtin) category.dos-reis1-0/+1
* interp/sys-constants.boot ($CategoryNames): Include MappingCategory. * interp/g-cndata.boot (unabbrevSpecialForms): Handle MappingCategory, RecordCategory, and UnionCategory. * interp/buildom.boot (MappingCategory): New. * interp/compiler.boot: Elaboration MappingCategory forms. * interp/g-error.boot (needsToSplitMessage): Fix thinko from type-based dispatch done by the Boot translator. * interp/nrunfast.boot (builtinConstructor?): New. (generalizedBuiltinConstructor?): Likewise. (lazyMatch): Use them. (newHasTest): Properly recognize all flavours of category forms.
2011-02-08 * interp/lisp-backend.boot: Translate %ident? to IDENTP, not SYMBOLP.dos-reis1-1/+1
* interp/compiler.boot (compMatch): test for identifier, not atomic value. * algebra/syntax.spad.pamphlet (Syntax): Tidy.
2011-02-03 * interp/c-util.boot: Replace COND with %when throught.dos-reis1-1/+1
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-2/+2
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-03 * interp/compiler.boot (finishLambdaExpression): Tidy. Don'tdos-reis1-13/+8
generate Lisp code directly. (canReturn): Don't look into CLOSEDFN forms.
2011-02-01 * interp/compiler.boot (compList): Use %nil form, not NIL.dos-reis1-4/+4
2011-01-31 * interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT,dos-reis1-2/+2
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-6/+6
(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.
2010-12-28Character constants clean updos-reis1-3/+3
2010-12-28Clean updos-reis1-1/+1
2010-12-12More clean up on string vs symbol confusionsdos-reis1-4/+4
2010-12-07 * interp/compiler.boot (compThrow): Remove niladic type restriction.dos-reis1-9/+5
(compCatch): Tidy. (compTry): Likewise.
2010-12-07 Add support for exception handling.dos-reis1-0/+30
* interp/parsing.lisp (TEST-LEXING): Remove. (RTRACE): Likewise. (RUNTRACE): Likewise. (MATCH-ADVANCE-KEYWORD): New. (MATCH-ADVANCE-GLYPH): Likewise. (MATCH-ADVANCE-SPECIAL): Likewise. (MATCH-SPECIAL): Likewise. (MATCH-KEYWORD-NEXT): Likewise. * interp/newaux.lisp: Make try and throw prefix operators. * interp/metalex.lisp (KEYWORDS): Include finally, catch and throw. * interp/fnewmeta.lisp (PARSE-Throw): New. Parse throw-expressions. (PARSE-Catch): New. Parse catch-expressions. (PARSE-Finally): New. Parse finally-expressions. (PARSE-Try): New. Parse try-expressions. * interp/compiler.boot (compThrow): New. Register to compile throw-expressions. (compTry): New. Register to compiler try-expressions. (compCatch): New. Compile catch-handler expression. * interp/g-opt.boot (optTry): New. Simplify simple expressions in the try operand. * interp/g-util.boot (expandThrow): New. Expand %throw forms. (domainMatchCode): New. (expandTry): New. Expand %try forms. * doc/msgs/s2-us.msgs: Add new message with key S2GE0020. * interp/g-error.boot (systemErrorHandler): Handle possible uncaucght expression condition.
2010-09-07 * interp/c-util.boot (massageBackendCode): Remove conditional ondos-reis1-1/+0
$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.
2010-08-22 * interp/compiler.boot (getBootType): Prefix Mapping with %.dos-reis1-3/+3
(checkExternalEntity): Likewise. Do same with Signature.
2010-07-27Misc cleanupdos-reis1-3/+3
2010-07-24 * interp/compiler.boot (compMatchAlternative): Don't generatedos-reis1-2/+1
LET-expressions. * interp/g-opt.boot (optBind): Tidy.
2010-07-12cleanupsdos-reis1-2/+2
2010-07-05 * interp/compiler.boot (compTopLevel): Bind $whereDecls.dos-reis1-2/+18
(recordDeclarationInSideCondition): New. Update it. (compWhere): Call it. * interp/define.boot ($whereDecls): Define at toplevel. (typeDependencyPath): New. (inferConstructorImplicitParameters): Likewise. (compDefineFunctor1): Use it.
2010-07-03 * interp/category.boot (isCategoryForm): Tidy.dos-reis1-2/+11
* interp/compiler.boot (compMacro): Handle parameterized definition. * interp/define.boot (macroExpand): Likewise. (macroExpandList): Move case for niladic macros to macroExpand. * interp/g-util.boot (putMacro): New utility function.
2010-07-03 * interp/define.boot (macroExpand): Tidy. Only identifiers aredos-reis1-6/+6
allowed to be macro names.
2010-06-30 * interp/c-util.boot (giveVariableSomeValue): New.dos-reis1-10/+10
* 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.