aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/INT.lsp
AgeCommit message (Collapse)AuthorFilesLines
2011-03-06 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %c2s.dos-reis1-115/+114
* interp/lisp-backend.boot: Translate it. * algebra/integer.spad.pamphlet (Integer) [convert]: Tidy. [latex]: Likewise. * algebra/string.spad.pamphlet (Character)[latex]: Likewise.
2011-02-25 * boot/tokens.boot: makeSymbol is not a builtin function.dos-reis1-10/+8
* boot/ast.boot: Use makeSymbol in place of INTERN. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. * interp/alql.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-map.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/g-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/modemap.boot: Likewise. * interp/mark.boot: Likewise. * interp/intfile.boot: Likewise. * interp/interop.boot: Likewise. * interp/incl.boot: Likewise. * interp/word.boot: Likewise. * interp/wi2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/topics.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/showimp.boot: Likewise. * interp/scan.boot: Likewise.
2011-02-24Rename getShellEntry to shellEntry now that it is a macro accessor that ↵dos-reis1-48/+42
designate a place (usable in SETF).
2011-02-24 * interp/sys-macros.lisp (shellEntry): New.dos-reis1-5/+5
* interp/g-util.boot (setShellEntry): Remove. * interp/compiler.boot: Use %store to %tref forms instead of setHSellEntry. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise. * interp/c-util.boot (isSimple): Tidy. (isSideEffectFree): Likewise. (updateCapsuleDirectory): Likewise.
2011-02-24 * interp/c-util.boot (isSimple): Accept constructor instantiations.dos-reis1-1/+1
* algebra/formula.spad.pamphlet: Avoid Lispisms. * algebra/mathml.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise.
2011-02-18Rename %veclit to %vector and %listlit to %listdos-reis1-1/+1
2011-02-07 * interp/c-util.boot (matchingEXIT): New.dos-reis1-8/+8
(simplifySEQ): Use it.
2011-01-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR,dos-reis1-1/+1
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-26 Replace more occurences of LIST with %listlit.dos-reis1-2/+2
2011-01-26 * interp/g-util.boot (expandListlit): Tidy.dos-reis1-1/+1
2011-01-24 * interp/g-opt.boot (optMkRecord): Generate %makepair forms.dos-reis1-1/+1
($VMsideEffectFreeOperators): Include %listlit and %veclit. * interp/g-util.boot: Translate them.
2010-12-30 * interp/vmlisp.lisp (QSTRING): Remove.dos-reis1-3/+3
(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-10-27 * algebra/boolean.spad.pamphlet (Logic): Now extend Type.dos-reis1-2/+2
2010-09-07 * interp/c-util.boot (massageBackendCode): Remove conditional ondos-reis1-1/+1
$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-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis1-2/+2
* 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-reis1-10/+10
%irem and %iquo. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-26 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis1-181/+180
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-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis1-30/+28
* 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-22more cleanupdos-reis1-5/+8
2010-07-22 * interp/g-util.boot (expandIeq): New expander for %ieq.dos-reis1-1/+1
* 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-reis1-7/+14
(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-reis1-6/+7
(OrderedType) [max,min]: Export and provide defaults. (OrderedSet): Simplify. (SetCategory) [before?]: Move to BasicType.
2010-06-27 * algebra/catdef.spad.pamphlet (LinearlyExplicitRingOver)dos-reis1-28/+28
[leftReducedSystem]: Rename from reducedSystem.
2010-06-26 * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Satisfydos-reis1-14/+13
BasicType if element type satisfies it.
2010-06-25 * interp/c-util.boot (expandableDefinition?): Try to make it ados-reis1-2/+1
forwarding function if possible.
2010-06-23 * interp/nruncomp.boot (optDeltaEntry): Don't optimize currentdos-reis1-43/+43
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-reis1-64/+42
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-reis1-1/+0
2010-06-21 * algebra/sgcf.spad.pamphlet (SymmetricGroupCombinatoricFunctions)dos-reis1-0/+1
[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-reis1-6/+4
(optimizeFunctionDef): Use it.
2010-06-20 * boot/tokens.boot (readOnly?): New builtin Boot function.dos-reis1-48/+50
* interp/c-util.boot (isLispSpecialVariable): Tidy. (transformToBackendCode): Likewise.
2010-06-16 * algebra/catdef.spad.pamphlet (DifferentialRing): Now extendsdos-reis1-12/+13
DifferentialSpace.
2010-06-15 * algebra/catdef.spad.pamphlet (DifferentialSpace): New.dos-reis1-66/+71
2010-06-13 * algebra/laurent.spad.pamphletdos-reis1-11/+10
(UnivariateLaurentSeriesConstructor) [termsToOutputForm]: Tidy. * algebra/mts.spad.pamphlet (SparseMultivariateTaylorSeries) [coerce]: Likewise. * algebra/padic.spad.pamphlet (PAdicIntegerCategory) [coerce]: Likewise. * algebra/pscat.spad.pamphlet (UnivariateTaylorSeriesCategory)[coerce]: Likewise. * algebra/puiseux.spad.pamphlet (UnivariatePuiseuxSeries) [termsToOutputForm]: Likewise.
2010-06-06 * interp/c-util.boot (mutateToBackendCode): Don't replace explicitdos-reis1-2/+2
SETQ by LETT.
2010-06-06 * interp/c-util.boot (needPROGS?): New.dos-reis1-14/+10
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
2010-06-04 * interp/buildom.boot: Clean up QEQCAR uses.dos-reis1-2/+3
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis1-132/+129
* interp/g-util.boot (expandToVMForm): Likewise. (expandStore): Refine store to pair components. * algebra/any.spad.pamphlet (Scope): Use builtin operators. (Environment): Likewise. * algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise. (ConstructorCall): Likewise. (FunctorData): Likewise. (OperatorSignature): Likewise. (Category): Likewise. (Domain): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. (NonNegativeInteger): Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/syntax.spad.pamphlet (Syntax): Likewise.
2010-05-30 * algebra/boolean.spad.pamphlet (Boolean): Remove reference todos-reis1-1/+1
Lisp. Use builtin functions.
2010-05-03 Generate more readable code for functor definitions.dos-reis1-14/+10
* interp/nruncomp.boot (washFunctorBody): New. (buildFunctor): Use it. * interp/g-opt.boot (optBind): New. (optLIST): Likewise.
2010-03-07 * interp/g-opt.boot ($VMsideEffectFreeOperators): New.dos-reis1-1/+6
($simpleVMoperators): Augment it. (semiSimpleRelativeTo?): New. (isSimpleVMForm): Use it. * interp/c-util.boot (forwardingCall?): New. (usesVariablesLinearly?): Likewise. (expandableDefinition?): Likewise. (foldSpadcall): Tidy. (foldExportedFunctionReferences): If a function is discovered to be expandable, make it so. * interp/define.boot (spadCompileOrSetq): Tidy.
2009-08-28 * boot/ast.boot (bfCase): Don't introduce temporary for scrutineedos-reis1-2/+2
when it is already reduced.
2009-06-15 * interp/define.boot (spadCompileOrSetq): Tidy.dos-reis1-1/+6
* interp/fnewmeta.lisp (PARSE-Sexpr1): Disable negative integers in data. A facility not actually used in Spad code.
2009-06-01 * interp/compiler.boot (compGreaterThan): Remove.dos-reis1-49/+43
* interp/parse.boot (parseGreaterEqual): Likewise.
2009-06-01 * interp/compiler.boot (compGreaterThan): New. Compiledos-reis1-170/+189
greater-than expressions. * interp/parse.boot (parseGreaterThan): Remove. * algebra/data.spad.pamphlet (Byte): Implement all comparison functions. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/string.spad.pamphlet (Character): Likewise.
2009-05-31 * algebra/term.spad.pamphlet (is?$OperatorCategory): New.dos-reis1-11/+16
* algebra/op.spad.pamphlet (BasicOperator): Don't export is? here. Inherit it from OperatorCategory Symbol. * algebra/catdef.spad.pamphlet (LeftLinearSet): New category. (RightLinearSet): Likewise. (LinearSet): Likewise. (AbelianGroup): Extend LeftLinearSet Integer. (LeftModule): Extend LeftLinearSet R. (Module): Extend LinearSet R. (RightModule): Extend RightLinearSet R. * algebra/exposed.lsp.pamphlet: Expose LeftLinearSet, RightLinearSet, and LinearSet. * algebra/Makefile.pamphlet: Tidy.
2009-05-21 * algebra/catdef.spad.pamphlet (before?$SetCategory): New.dos-reis1-23/+25
2009-04-18 * algebra/mkfunc.spad.pamphlet (InputForm): Remove assignment to Rep.dos-reis1-1/+1
(convert): Use per and rep operators. * algebra/stap: Updated cached Lisp translation.
2009-03-01 Optimization should not change slot numbers.dos-reis1-170/+175
2009-02-08 Fix AW/103dos-reis1-105/+96
* algebra/catdef.spad.pamphlet (exquo$EuclideanDomain): Return 0 if first argument is 0. * algebra/integer.spad.pamphlet (exquo$Integer): Remove. * testsuite/interpreter/aw-103.input: New.