2011-02-08 Gabriel Dos Reis * interp/lisp-backend.boot: Translate %ident? to IDENTP, not SYMBOLP. * interp/compiler.boot (compMatch): test for identifier, not atomic value. * algebra/syntax.spad.pamphlet (Syntax): Tidy. 2011-02-07 Gabriel Dos Reis * boot/tokens.boot: arrayRef is now a builtin function. 2011-02-07 Gabriel Dos Reis * algebra/ituple.spad.pamphlet (InfiniteTuple): Use Stream S as representation, not extended domain (default search does not work for the non-extending categories.) 2011-02-06 Gabriel Dos Reis * interp/g-opt.boot (groupVariableDefinitions): Look into clauses of conditional too. 2011-02-06 Gabriel Dos Reis * interp/c-util.boot (matchingEXIT): New. (simplifySEQ): Use it. 2011-02-05 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fmanexp. (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 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Include inverse hyperbolic functions. * interp/lisp-backend.boot: Expand them. * algebra/sf.spad.pamphlet: Use them. 2011-02-04 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove CGREATERP 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 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove more Lisp 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-03 Gabriel Dos Reis * interp/c-util.boot (mutateConditionalFormWithUnaryFunction): Rename from mutateCONDFormWithUnaryFunction. Update callers (mutateBindingFormWithUnaryFunction): Rename from mutateLETFormWithUnaryFunction. Allow %bind form too. Update callers. 2011-02-03 Gabriel Dos Reis * algebra/stream.spad.pamphlet (Stream): Remove bogus assignment to Rep. Rework local function definitions. 2011-02-03 Gabriel Dos Reis * interp/c-util.boot: Replace COND with %when throught. 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 Gabriel Dos Reis * interp/slam.boot (reportFunctionCompilation): Use %otherwise, 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 Gabriel Dos Reis * interp/compiler.boot (finishLambdaExpression): Tidy. Don't generate Lisp code directly. (canReturn): Don't look into CLOSEDFN forms. 2011-02-02 Gabriel Dos Reis * interp/clam.boot: Tidy. * interp/slam.boot: Likewise. 2011-02-02 Gabriel Dos Reis * interp/lisp-backend.boot: New file. Consolidate Common Lisp backend module. * interp/Makefile.in (OBJS): Include it. (lisp-backend.$(FASLEXT)): New rule. 2011-02-01 Gabriel Dos Reis * algebra/files.spad.pamphlet (Library): Remove assignment to Rep. * algebra/lie.spad.pamphlet (AssociatedLieAlgebra): Likewise. (AssociatedJordanAlgebra): Likewise. (LieSquareMatrix): Likewise. 2011-02-01 Gabriel Dos Reis * interp/nrunopt.boot (NRTgetLookupFunction): Explain reason for non-extension. 2011-02-01 Gabriel Dos Reis * interp/compiler.boot (compList): Use %nil form, not NIL. 2011-01-31 Gabriel Dos Reis * interp/g-opt.boot (optCallSpecially): Remove. (optSpeciallCall): Likeise. (optCall): Adjust. (optCallEval): Move to wi2.boot, sole user. 2011-01-31 Gabriel Dos Reis * interp/g-opt.boot (optQSMINUS): Remove. * 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 Gabriel Dos Reis * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR, 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-29 Gabriel Dos Reis * interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT, QSETVELT-1, QSINC1, QVELT, QVELT-1. * algebra/si.spad.pamphlet: Use %iinc and %idec forms. 2011-01-27 Gabriel Dos Reis * interp/nruncomp.boot (NRTputInHead): Tidy. 2011-01-26 Gabriel Dos Reis * interp/g-util.boot (expandListlit): Tidy. 2011-01-25 Gabriel Dos Reis * interp/compiler.boot (compForm1): Use %listlit form. (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-24 Gabriel Dos Reis * interp/g-opt.boot (optMkRecord): Generate %makepair forms. ($VMsideEffectFreeOperators): Include %listlit and %veclit. * interp/g-util.boot: Translate them. 2011-01-24 Gabriel Dos Reis * algebra/array1.spad.pamphlet: Use %aref instead of %vref. * interp/g-opt.boot (optSETRECORDELT): Tidy code generation. (optRECORDCOPY): Likewise. (optRECORDELT): Likewise. ($VMsideEffectFreeOperators): Include %aref. Translate. 2011-01-18 Gabriel Dos Reis * interp/vmlisp.lisp (FIXP): Remove. * 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. 2011-01-02 Gabriel Dos Reis * interp/g-util.boot: Expand new bit vector operators. * interp/g-opt.boot (opt2bit): New. (opt2bool): Likewise. * interp/bits.lisp (BVEC-SIZE): Remove. (BVEC-COPY): Likewise. (BVEC-CONCAT): Likewise. (BVEC-EQUAL): Likewise. (BVEC-AND): Likewise. (BVEC-OR): Likewise. (BVEC-XOR): Likewise. (BVEC-NAND): Likewise. (BVEC-NOR): Likewise. (BVEC-NOT): Likewise. * algebra/boolean.spad.pamphlet (IndexedBits): Remove uses of Lisp-level functions. 2011-01-02 Gabriel Dos Reis * interp/nrunfast.boot (evalSlotDomain): Expand to VM forms before value argument evaluation. (lazyMatch): Check for %llength too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %2bit and %2bool. * interp/g-util.boot: Expand them. * interp/define.boot (compJoin): Check for %llenght too. * algebra/boolean.spad.pamphlet: Tidy. * algebra/domain.spad.pamphlet: Likewise. * algebra/draw.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise.