Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
(QSTRINGLENGTH): Likewise.
(STRINGLENGTH): Likewise.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %i2s.
* interp/g-util.boot: Expand it.
* interp/debug.lisp (/LOCATE): Replace STRINGLENGTH with LENGTH.
* algebra/fortran.spad.pamphlet: Don't use STRINGIMAGE from Lisp.
* algebra/generic.spad.pamphlet: Likewise.
* algebra/naalg.spad.pamphlet: Likewise.
* algebra/naalgc.spad.pamphlet: Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
|
|
* interp/g-util.boot: Expand it.
* algebra/string.spad.pamphlet (String): Remove use of QCSIZE.
|
|
|
|
|
|
|
|
builtin.
* interp/g-util.boot (stringToChar): New.
(expandCst): Use it.
(expandS2c): Likewise. New.
* interp/spad.lisp (|$Newline): Move to interp/sys-macros.lisp.
* interp/sys-macros.lisp (|$Backspace): New.
(|$HorizontalTab|): Likewise.
(|$VerticalTab|): Likewise.
(|$FormFeed|): Likewise.
(|$CarriageReturn|): Likewise.
* algebra/string.spad.pamphlet (Character) [newline]: New.
[carriageReturn]: Likewise.
[linefeed]: Likewise.
[formfeed]: Likewise.
[backspace]: Likewise.
[horizontalTab]: Likewise.
[verticalTab]: Likewise.
[char]: Tidy.
|
|
comparaison, not object comparaison.
|
|
|
|
|
|
$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.
|
|
trigonometric functions.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include them.
* interp/g-util.boot: Expand them.
* include/edible.H1: Move declarations to clef/edible.c. Remove.
* driver/utils.h: Give G linkage to declarations.
* sman/Makefile.in: Link programs against C++ runtime.
|
|
* interp/spad.lisp (QUOTIENT2): Remove.
(REMAINDER2): Likewise.
* algebra/integer.spad.pamphlet (Integer): Use builtin %idivide.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
|
|
%irem and %iquo.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
|
|
opcodes %icst0, %icst1, %when, and %ccst.
* interp/g-util.boot: Expand %ccst.
* algebra/alql.spad.pamphlet: Clean up.
* algebra/array1.spad.pamphlet: Likewise.
* algebra/c02.spad.pamphlet: Likewise.
* algebra/d03.spad.pamphlet: Likewise.
* algebra/e04.spad.pamphlet: Likewise.
* algebra/integer.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
|
|
* interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1.
(optIlt): Fold more configurations.
|
|
|
|
operand is zero.
(optIsub): Likewise.
(optImul): More simplifications if either operand is one.
|
|
* interp/clam.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/sys-constants.boot: Remove $true and $false as unused.
|
|
initializations in %bind expressions.
* interp/g-util.boot (expandBind): The body of s %bind expression
may be a sequence of statements.
|
|
* algebra/sf.spad.pamphlet (DoubleFloat): Tidy.
|
|
|
|
* interp/g-opt.boot (optIeq): New.
(optIadd): Likewise.
(optIsub): Likewise.
(optImul): Likewise.
(optIneg): Likewise.
(lispize): Remove.
|
|
(optRetract): Simplify the predicate when possible.
(optNot): New transformer.
(optAnd): Likewise.
(optOr): Likewise.
(optIlt): Likewise.
(optIle): Likewise.
(optIgt): Likewise.
(optIge): Likewise.
|
|
(OrderedType) [max,min]: Export and provide defaults.
(OrderedSet): Simplify.
(SetCategory) [before?]: Move to BasicType.
|
|
[leftReducedSystem]: Rename from reducedSystem.
|
|
|
|
BasicType if element type satisfies it.
|
|
* interp/g-util.boot: Expand it.
* algebra/aggcat.spad.pamphlet: Cleanup.
* algebra/any.spad.pamphlet: Likewise.
* algebra/boolean.spad.pamphlet: Likewise.
* algebra/data.spad.pamphlet: Likewise.
* algebra/domain.spad.pamphlet: Likewise.
* algebra/files.spad.pamphlet: Likewise.
* algebra/laurent.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Likewise.
* algebra/mappkg.spad.pamphlet: Likewise.
* algebra/ore.spad.pamphlet: Likewise.
* algebra/padic.spad.pamphlet: Likewise.
* algebra/pattern.spad.pamphlet: Likewise.
* algebra/sex.spad.pamphlet: Likewise.
* algebra/stream.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
* algebra/syntax.spad.pamphlet: Likewise.
* algebra/table.spad.pamphlet: Likewise.
|
|
forwarding function if possible.
|
|
domain modemap references here.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include more
floating point operators.
($simpleVMoperators): Move FUNCALL here.
(isVMConstantForm): Tidy.
* interp/g-util.boot: Expand more floating point insns.
* interp/c-util.boot (replaceSimpleFunctions): Replace more
constants.
* algebra/integer.spad.pamphlet (Integer): More cleanup. Use
builtin functions.
* algebra/sf.spad.pamphlet: Likewise.
|
|
appropriate.
* interp/g-opt.boot (jumpToToplevel?): New.
(singleAssignment?): Likewise.
(groupVariableDefinitions): Likewise. Use them.
(optimizeFunctionDef): Group toplevel variable definitions into
a bind expression.
* interp/g-util.boot (expandBind): Tidy.
* interp/c-util.boot (transformToBackendCode): Refrain from
enclosing let-expressions in SEQ if not needed.
|
|
|
|
[listYoungTableaus]: Fix thinko. Don't use lattice in its own
initialization before it is defined.
|
|
(optimizeFunctionDef): Use it.
|
|
(compRepeatOrCollect): Use it to generate appropriate %loop forms.
Bind new special variable $mayHaveFreeIteratorVariables.
(complainIfShadowing): Set it as appropriate.
|
|
* interp/c-util.boot (isLispSpecialVariable): Tidy.
(transformToBackendCode): Likewise.
|
|
extends DifferentialSpaceExtension.
|
|
|