aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2011-02-18Rename %veclit to %vector and %listlit to %listdos-reis19-89/+89
2011-02-15 * interp/compiler.boot (coerceExtraHard): Explicitly fail ifdos-reis1-1/+3
autoCoerceByModemap fails.
2011-02-14 * interp/compiler.boot (getUnionMode): Remove.dos-reis3-30/+40
(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-reis2-3/+7
temporaries designating result of assignment. (getInverseEnvironment): Likewise.
2011-02-13 * interp/buildom.boot (mkNewUnionFunList): Align arity ofdos-reis3-8/+6
'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-13 * interp/g-opt.boot (optCond): Get rid of double negatives whendos-reis2-45/+3
possible. * interp/g-util.boot (assumeProperty): Remove. (flattenVMForm): Likewise. (mkVMForm): Likewise.
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-12minor cleanupdos-reis1-4/+5
2011-02-12 * interp/g-opt.boot (changeVariableDefinitionToStore): Tidy.dos-reis1-6/+28
2011-02-11 * interp/g-opt.boot (dependentVars): New.dos-reis1-3/+19
(canInlineVarDefinition): Use it to safely inline vardefs.
2011-02-11 * interp/compiler.boot (canReturn): Don't check for LET*.dos-reis3-14/+4
* interp/g-opt.boot (optLET*): Remove as we now generate only %bind forms.
2011-02-11 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %funcalldos-reis2-1/+2
and %nothing. * algebra/mkfunc.spad.pamphlet: Use %funcall instead of FUNCALL.
2011-02-11some cleanupsdos-reis2-52/+45
2011-02-10 * interp/vmlisp.lisp (VEC-SETELT): Remove.dos-reis5-14/+10
* interp/scan.boot (scanInserts): Use vectorRef. * interp/functor.boot (DescendCode): Don't check for SETELT or QSETREFV forms. * interp/nrunfast.boot (evalSlotDomain): Likewise.
2011-02-10 * interp/sys-globals.boot ($evalDomain): Remove.dos-reis3-18/+9
* interp/nrungo.boot (NRTevalDomain): Likewise. Fix callers to call evalDomain. * interp/i-eval.boot (evalDomain): Don't check for $evalDomain anymore. Handle assignment to domain object forms.
2011-02-09 Add MappingCategory as a (builtin) category.dos-reis6-14/+41
* 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-09 * interp/sys-constants.boot ($PrimitiveDomainNames): Remove.dos-reis2-15/+1
* interp/category.boot (mkCategory): Drop test for primitive domains.
2011-02-09More mkCategory cleanupdos-reis1-6/+7
2011-02-09 * interp/category.boot (mkCategory): Don't single out Listdos-reis1-1/+0
instantiations in determining NewLocals.
2011-02-08 * interp/category.boot(categoryObject?): Rename from isCategory. dos-reis4-8/+8
* interp/c-util.boot: Adjust use. * interp/functor.boot: Likewise. * interp/modemap.boot: Likewise.
2011-02-08 * interp/buildom.boot: Don't cache instantiation of builtindos-reis1-17/+2
domains, as the comment at the top of the file says.
2011-02-08 * interp/lisp-backend.boot: Translate %ident? to IDENTP, not SYMBOLP.dos-reis2-2/+2
* interp/compiler.boot (compMatch): test for identifier, not atomic value. * algebra/syntax.spad.pamphlet (Syntax): Tidy.
2011-02-07Fix typo.dos-reis1-1/+1
2011-02-07 * interp/g-opt.boot (groupVariableDefinitions): Look into clausesdos-reis1-0/+5
of conditional too.
2011-02-07 * interp/c-util.boot (matchingEXIT): New.dos-reis1-0/+8
(simplifySEQ): Use it.
2011-02-06cleanup special hyperbolic builtinsdos-reis3-33/+4
2011-02-06 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fmanexp.dos-reis4-13/+42
(sideEffectFree?): New. (varIsAssigned): Tidy. (canInlineVarDefinition): Likewise. * interp/boot-pkg.lisp (gensym?): New. * interp/c-util.boot ($NonExpandableOperators): New. (expandableDefinition?): Use it. * algebra/sf.spad.pamphlet (DoubleFloat): Use %fmanexp.
2011-02-05 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include inversedos-reis2-4/+63
hyperbolic functions. * interp/lisp-backend.boot: Expand them. * algebra/sf.spad.pamphlet: Use them.
2011-02-05 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove CGREATERPdos-reis2-31/+65
and GGREATERP. Add VM-level complex number operators. * interp/lisp-backend.boot: Expand them. * algebra/gaussian.spad.pamphlet (ComplexCategory): Use VM form instead of Lisp level forms. * algebra/pfr.spad.pamphlet (PartialFraction): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/symbol.spad.pamphlet (Symbol): Likewise.
2011-02-04 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove more Lispdos-reis2-8/+10
level operators. Include %property and %bitveclt. * interp/lisp-backend.boot: Expand them. * algebra/si.spad.pamphlet (SingleInteger): Tidy. Use %ismall?. * algebra/domain.spad.pamphlet (DomainConstructo): Use %property. * algebra/outform.spad.pamphlet (OutputForm): Likewise. * algebra/boolean.spad.pamphlet (IndexedBits): Use %bitveclt.
2011-02-04cleanu updos-reis6-28/+28
2011-02-04 * interp/c-util.boot (mutateConditionalFormWithUnaryFunction):dos-reis1-16/+16
Rename from mutateCONDFormWithUnaryFunction. Update callers (mutateBindingFormWithUnaryFunction): Rename from mutateLETFormWithUnaryFunction. Allow %bind form too. Update callers.
2011-02-03 * interp/c-util.boot: Replace COND with %when throught.dos-reis18-103/+107
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-reis5-13/+14
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-02 * interp/clam.boot: Tidy.dos-reis2-46/+46
* interp/slam.boot: Likewise.
2011-02-02 * interp/lisp-backend.boot: New file. Consolidate Common Lispdos-reis5-574/+615
backend module. * interp/Makefile.in (OBJS): Include it. (lisp-backend.$(FASLEXT)): New rule.
2011-02-01 * interp/nrunopt.boot (NRTgetLookupFunction): Explain reason fordos-reis1-3/+4
non-extension.
2011-02-01 * interp/compiler.boot (compList): Use %nil form, not NIL.dos-reis2-6/+6
2011-02-01 * interp/g-opt.boot (optCallSpecially): Remove.dos-reis3-34/+10
(optSpeciallCall): Likeise. (optCall): Adjust. (optCallEval): Move to wi2.boot, sole user.
2011-01-31 * interp/g-opt.boot (optQSMINUS): Remove.dos-reis2-10/+4
* algebra/data.spad.pamphlet: Tidy. * algebra/plot.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Remove use of NULL$Lisp.
2011-01-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR,dos-reis2-22/+26
QCAR. SYMBOLP, GREATERP. Add %ibit, %ilength, %ident, %equal. * interp/g-util.boot: Expand them * algebra/any.spad.pamphlet: Tidy. * algebra/catdef.spad.pamphlet: Likewise. * algebra/data.spad.pamphlet: Likewise. * algebra/domain.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/fname.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/random.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise.
2011-01-31 * interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT,dos-reis10-37/+12
QSETVELT-1, QSINC1, QVELT, QVELT-1. * algebra/si.spad.pamphlet: Use %iinc and %idec forms.
2011-01-27Generate SVREF for simple vector slot refs.dos-reis10-62/+64
2011-01-27 * interp/nruncomp.boot (NRTputInHead): Tidy.dos-reis1-6/+3
2011-01-26Use %veclit formsdos-reis4-9/+9
2011-01-26 Replace more occurences of LIST with %listlit.dos-reis12-41/+41
2011-01-26 * interp/g-util.boot (expandListlit): Tidy.dos-reis1-2/+7
2011-01-26 * interp/compiler.boot (compForm1): Use %listlit form.dos-reis8-30/+35
(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.