Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
%bytevec2str and %str2bytevec opcode.
* interp/lisp-backend.boot: Expand them.
* algebra/data.spad.pamphlet (ByteBuffer): Tidy.
|
|
|
|
Remove definition.
(SingleInteger): Simplify implementation of random.
* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.
[positive?]: Define.
* algebra/integer.spad.pamphlet (Integer): Tidy.
|
|
considered side-effect free functions.
* algebra/boolean.spad.pamphlet: Reflect change.
* algebra/Makefile.in (oa_strap_0_sources): Include MAYBE.
|
|
|
|
* interp/lisp-backend.boot: Translate it.
* algebra/integer.spad.pamphlet (Integer) [convert]: Tidy.
[latex]: Likewise.
* algebra/string.spad.pamphlet (Character)[latex]: Likewise.
|
|
disjunction forms.
|
|
disjunction forms.
|
|
constant producing function.
* interp/c-util.boot (getFunctionReplacement): Use
comptileTimeBindingOf.
(lookupDefiningFunction): Tidy.
* interp/g-opt.boot (compileTimeBindingOf): Move to c-util.boot.
|
|
evaluation.
|
|
(optCond): Remove ineffectual transformation.
|
|
designate a place (usable in SETF).
|
|
|
|
|
|
|
|
nested conditionals.
|
|
|
|
'case' implementation to declared signature.
(mkUnionFunList): Likewise.
* interp/compiler.boot (compCase1): 'case' is now unconditionally
binary.
* interp/g-opt.boot (optCond): Fix thinko.
|
|
possible.
* interp/g-util.boot (assumeProperty): Remove.
(flattenVMForm): Likewise.
(mkVMForm): Likewise.
|
|
|
|
|
|
(canInlineVarDefinition): Use it to safely inline vardefs.
|
|
* interp/g-opt.boot (optLET*): Remove as we now generate only
%bind forms.
|
|
and %nothing.
* algebra/mkfunc.spad.pamphlet: Use %funcall instead of FUNCALL.
|
|
|
|
of conditional too.
|
|
|
|
(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.
|
|
hyperbolic functions.
* interp/lisp-backend.boot: Expand them.
* algebra/sf.spad.pamphlet: Use them.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
(optSpeciallCall): Likeise.
(optCall): Adjust.
(optCallEval): Move to wi2.boot, sole user.
|
|
* 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.
|
|
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.
|
|
QSETVELT-1, QSINC1, QVELT, QVELT-1.
* algebra/si.spad.pamphlet: Use %iinc and %idec forms.
|
|
|
|
|
|
|
|
(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.
|
|
($VMsideEffectFreeOperators): Include %listlit and %veclit.
* interp/g-util.boot: Translate them.
|
|
* interp/g-opt.boot (optSETRECORDELT): Tidy code generation.
(optRECORDCOPY): Likewise.
(optRECORDELT): Likewise.
($VMsideEffectFreeOperators): Include %aref. Translate.
|
|
* 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.
|
|
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.
|
|
%cdown.
* interp/g-util.boot: Expand them.
* interp/vmlisp.lisp (QESET): Remove.
* algebra/string.spad.pamphlet (String): Don't use QESET.
|
|
builtin functions %strlt, %streq, %strcopy, and %strconc.
* interp/g-util.boot: Expand them.
* algebra/string.spad.pamphlet (String): Remove uses of
Lisp-level functions CHAR, EQUAL, CHAR=, ans SXHASH.
|