aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap
AgeCommit message (Collapse)AuthorFilesLines
2011-02-01Avoid direct use or RPLACA and RPLACDdos-reis2-24/+24
2011-01-31 * interp/g-opt.boot (optQSMINUS): Remove.dos-reis1-7/+7
* 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-reis4-8/+8
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-reis1-4/+4
QSETVELT-1, QSINC1, QVELT, QVELT-1. * algebra/si.spad.pamphlet: Use %iinc and %idec forms.
2011-01-27 * interp/nruncomp.boot (NRTputInHead): Tidy.dos-reis7-97/+74
2011-01-26 Replace more occurences of LIST with %listlit.dos-reis42-95/+91
2011-01-26 * interp/g-util.boot (expandListlit): Tidy.dos-reis26-41/+40
2011-01-26 * interp/compiler.boot (compForm1): Use %listlit form.dos-reis1-66/+87
(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 * interp/g-opt.boot (optMkRecord): Generate %makepair forms.dos-reis2-2/+2
($VMsideEffectFreeOperators): Include %listlit and %veclit. * interp/g-util.boot: Translate them.
2011-01-24 * algebra/array1.spad.pamphlet: Use %aref instead of %vref.dos-reis4-63/+63
* interp/g-opt.boot (optSETRECORDELT): Tidy code generation. (optRECORDCOPY): Likewise. (optRECORDELT): Likewise. ($VMsideEffectFreeOperators): Include %aref. Translate.
2011-01-03 * interp/g-util.boot: Expand new bit vector operators.dos-reis1-4/+4
* 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 * interp/nrunfast.boot (evalSlotDomain): Expand to VM forms beforedos-reis11-32/+42
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.
2011-01-02More cleanupdos-reis1-3/+4
2010-12-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %cup anddos-reis2-6/+6
%cdown. * interp/g-util.boot: Expand them. * interp/vmlisp.lisp (QESET): Remove. * algebra/string.spad.pamphlet (String): Don't use QESET.
2010-12-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis2-9/+19
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.
2010-12-30 * interp/vmlisp.lisp (QSTRING): Remove.dos-reis2-8/+8
(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.
2010-12-29 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %strlength.dos-reis3-18/+21
* interp/g-util.boot: Expand it. * algebra/string.spad.pamphlet (String): Remove use of QCSIZE.
2010-11-24(no commit message)dos-reis1-62/+70
2010-11-24(no commit message)dos-reis1-12/+16
2010-11-19(no commit message)dos-reis1-23/+24
2010-11-16 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %s2cdos-reis1-75/+145
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.
2010-10-27 * interp/c-util.boot (makeCommonEnvironment): Use list node pointerdos-reis2-6/+7
comparaison, not object comparaison.
2010-10-27 * algebra/boolean.spad.pamphlet (BooleanLogic): Extends Logic.dos-reis2-12/+11
2010-10-27 * algebra/boolean.spad.pamphlet (Logic): Now extend Type.dos-reis59-250/+252
2010-09-07 * interp/c-util.boot (massageBackendCode): Remove conditional ondos-reis13-13/+13
$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-07-29 * algebra/sf.spad.pamphlet (DoubleFloat): Use builtindos-reis1-18/+18
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.
2010-07-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis10-27/+33
* interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-28 * algebra/integer.spad.pamphlet (Integer): Use builtin functionsdos-reis2-18/+17
%irem and %iquo. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-26 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis3-215/+214
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.
2010-07-26 * algebra/si.spad.pamphlet (SingleInteger): Tidy.dos-reis1-170/+156
* interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1. (optIlt): Fold more configurations.
2010-07-26 * interp/g-opt.boot (optCond): Simplify newly built COND-expression.dos-reis2-38/+30
2010-07-25 * interp/g-opt.boot (optIadd): More simplification if either dos-reis1-1/+1
operand is zero. (optIsub): Likewise. (optImul): More simplifications if either operand is one.
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis44-2982/+2912
* 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.
2010-07-23 * interp/g-opt.boot (optBind): Check for dependencies indos-reis8-73/+72
initializations in %bind expressions. * interp/g-util.boot (expandBind): The body of s %bind expression may be a sequence of statements.
2010-07-23 * interp/g-util.boot (expandFeq): New.dos-reis1-32/+34
* algebra/sf.spad.pamphlet (DoubleFloat): Tidy.
2010-07-22more cleanupdos-reis1-5/+8
2010-07-22 * interp/g-util.boot (expandIeq): New expander for %ieq.dos-reis7-28/+24
* interp/g-opt.boot (optIeq): New. (optIadd): Likewise. (optIsub): Likewise. (optImul): Likewise. (optIneg): Likewise. (lispize): Remove.
2010-07-22 * interp/g-opt.boot (simplifyVMForm): New.dos-reis20-103/+132
(optRetract): Simplify the predicate when possible. (optNot): New transformer. (optAnd): Likewise. (optOr): Likewise. (optIlt): Likewise. (optIle): Likewise. (optIgt): Likewise. (optIge): Likewise.
2010-06-29 * algebra/catdef.spad.pamphlet (BasicType) [before?]: Declare here.dos-reis12-114/+126
(OrderedType) [max,min]: Export and provide defaults. (OrderedSet): Simplify. (SetCategory) [before?]: Move to BasicType.
2010-06-27 * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver)dos-reis4-70/+71
[leftReducedSystem]: Rename from reducedSystem.
2010-06-26Update databasesdos-reis1-6/+6
2010-06-26 * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Satisfydos-reis15-215/+241
BasicType if element type satisfies it.
2010-06-25 * interp/g-opt.boot: Rename %eq to %peq for pointer comparaison.dos-reis2-3/+3
* 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.
2010-06-25 * interp/c-util.boot (expandableDefinition?): Try to make it ados-reis2-6/+3
forwarding function if possible.
2010-06-23 * interp/nruncomp.boot (optDeltaEntry): Don't optimize currentdos-reis17-259/+252
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.
2010-06-22 Group sequence of LETT definitions into LET/LET* expressions wheredos-reis18-2363/+1976
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.
2010-06-21Revert previous erroneous commitdos-reis13-13/+0
2010-06-21 * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions)dos-reis13-0/+13
[listYoungTableaus]: Fix thinko. Don't use lattice in its own initialization before it is defined.
2010-06-20 * interp/g-opt.boot (changeVariableDefinitionToStore): New.dos-reis17-671/+428
(optimizeFunctionDef): Use it.
2010-06-20 * interp/compiler.boot (massageLoop): New.dos-reis14-1987/+1938
(compRepeatOrCollect): Use it to generate appropriate %loop forms. Bind new special variable $mayHaveFreeIteratorVariables. (complainIfShadowing): Set it as appropriate.