aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/LIST.lsp
AgeCommit message (Collapse)AuthorFilesLines
2010-10-27 * algebra/boolean.spad.pamphlet (Logic): Now extend Type.dos-reis1-3/+3
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-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis1-4/+3
* 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-06-29 * algebra/catdef.spad.pamphlet (BasicType) [before?]: Declare here.dos-reis1-10/+11
(OrderedType) [max,min]: Export and provide defaults. (OrderedSet): Simplify. (SetCategory) [before?]: Move to BasicType.
2010-06-26 * algebra/aggcat.spad.pamphlet (HomogeneousAggregate): Satisfydos-reis1-18/+22
BasicType if element type satisfies it.
2010-06-22 Group sequence of LETT definitions into LET/LET* expressions wheredos-reis1-47/+33
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-26/+17
(optimizeFunctionDef): Use it.
2010-06-20 * interp/compiler.boot (massageLoop): New.dos-reis1-41/+44
(compRepeatOrCollect): Use it to generate appropriate %loop forms. Bind new special variable $mayHaveFreeIteratorVariables. (complainIfShadowing): Set it as appropriate.
2010-06-20 * boot/tokens.boot (readOnly?): New builtin Boot function.dos-reis1-0/+2
* interp/c-util.boot (isLispSpecialVariable): Tidy. (transformToBackendCode): Likewise.
2010-06-06 * interp/c-util.boot (mutateToBackendCode): Don't replace explicitdos-reis1-8/+6
SETQ by LETT.
2010-06-06 * interp/c-util.boot (needPROGS?): New.dos-reis1-30/+26
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
2010-06-06 * interp/compiler.boot (compRepeatOrCollect): Compile listdos-reis1-22/+15
comprehension to %collect form.
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis1-3/+3
* 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-03 Generate more readable code for functor definitions.dos-reis1-73/+63
* interp/nruncomp.boot (washFunctorBody): New. (buildFunctor): Use it. * interp/g-opt.boot (optBind): New. (optLIST): Likewise.
2010-04-30 * interp/macros.lisp (|check-subtype|): Return coerced value if can.dos-reis1-7/+8
(|check-union|): Likewise. * interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract instruction. * interp/g-opt.boot (optRetract): New.
2010-04-25 * algebra/aggcat.spad.pamphlet: Tidy.dos-reis1-1/+1
2010-03-05 * interp/sys-globals.boot ($optimizeRep): Define.dos-reis1-12/+29
* interp/sys-driver.boot (initializeGlobalState): Sey domain representation inlining if requested. * interp/c-util.boot (setCompilerOptimizations): Set domain representation inlining if at optimization level 3. * algebra/constant.spad.pamphlet (AlgebraicNumber): Remove assignment to Rep. Tidy. * algebra/Makefile.pamphlet: Add dependencies.
2009-08-28 * boot/ast.boot (bfCase): Don't introduce temporary for scrutineedos-reis1-3/+3
when it is already reduced.
2009-08-16 * interp/i-map.boot (addMap): Fix typo from last commit.dos-reis1-2/+4
* interp/compiler.boot (compElt): Fix thinko, one more time. * interp/nruncomp.boot (optDeltaEntry): Don't overquote VM forms for constants. * algebra/algext.spad.pamphlet: Call niladic functions with empty argument lists. * algebra/ddfact.spad.pamphlet: Likewise. * algebra/gpgcd.spad.pamphlet: Likewise. * algebra/modmon.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/twofact.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: "nil" is now a ocnstant. * algebra/string.spad.pamphlet: "space", "quote", "escape" are now constants.
2009-07-04 * interp/c-util.boot (simplifySEQ): New.dos-reis1-6/+5
(transformToBackendCode): Use it.
2009-05-29 * interp/compiler.boot (getSuccessEnvironment): Tidy.dos-reis1-74/+74
(getInverseEnvironment): Likewise. (compLogicalNot): Don't normalize to if-statement.
2009-05-21 * algebra/catdef.spad.pamphlet (before?$SetCategory): New.dos-reis1-4/+4
2009-04-23 * interp/compiler.boot ($IOFormDomains): New.dos-reis1-5/+5
(compAtom): Allow implicit coercion to IO forms for values of fundamental types. (compSymbol): Likewise. (compQuote): Likewise. * algebra/aggcat.spad.pamphlet (coerce$BinaryRecursiveAggregate): Don't hard code empty bracket.
2009-04-18 * algebra/mkfunc.spad.pamphlet (InputForm): Remove assignment to Rep.dos-reis1-2/+2
(convert): Use per and rep operators. * algebra/stap: Updated cached Lisp translation.
2009-03-01 Optimization should not change slot numbers.dos-reis1-82/+89
2009-02-04 * algebra/algfunc.spad.pamphlet: Quote symbols.dos-reis1-29/+27
* algebra/combfunc.spad.pamphlet: Likewise. * algebra/drawopt.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/intaux.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/lmdict.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/matcat.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/mset.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/patmatch1.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/sets.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise.
2008-12-27 * algebra/net.spad.pamphlet (readBytes!$InputByteConduit): Setdos-reis1-3/+3
length of buffer to count of bytes read. * algebra/si.spad.pamphlet (SingleInteger): Now formally subdomain of Integer.
2008-12-14 r12459@gauss: gdr | 2008-12-12 18:18:31 -0600dos-reis1-86/+77
Tidy compApplyModemap. r12460@gauss: gdr | 2008-12-13 09:24:50 -0600 Tidy compMapCond. r12461@gauss: gdr | 2008-12-13 10:24:14 -0600 Activate compViableModemap. r12462@gauss: gdr | 2008-12-13 11:18:17 -0600 Remove pmatch and pmatchWithSl out of main compiler. r12463@gauss: gdr | 2008-12-13 12:26:44 -0600 Tidy compApplyModemap. r12464@gauss: gdr | 2008-12-13 16:39:28 -0600 Add compExclusiveOr. r12465@gauss: gdr | 2008-12-13 16:54:58 -0600 . r12466@gauss: gdr | 2008-12-14 15:01:33 -0600 Tidy compLogicalNot.
2008-12-09 r12415@gauss: gdr | 2008-12-06 11:42:45 -0600dos-reis1-3/+3
Implement basic support for pattern matching. r12416@gauss: gdr | 2008-12-06 18:09:19 -0600 Parse case pattern match. r12417@gauss: gdr | 2008-12-06 21:28:30 -0600 Implement basic case pattern matching for retractable domain. r12418@gauss: gdr | 2008-12-07 00:58:58 -0600 Refine retractability implementation. r12419@gauss: gdr | 2008-12-07 01:39:32 -0600 Update cached Lisp translation r12420@gauss: gdr | 2008-12-07 03:52:09 -0600 r12421@gauss: gdr | 2008-12-07 10:30:44 -0600 Implement type recovery too. r12422@gauss: gdr | 2008-12-07 19:18:09 -0600 Simplify LET-forms and COND-forms. r12423@gauss: gdr | 2008-12-07 21:21:12 -0600 Fix typos r12424@gauss: gdr | 2008-12-08 01:14:54 -0600 Parse case-pattern in the interpreter. r12427@gauss: gdr | 2008-12-08 20:32:29 -0600 Handle RetractableTo T.
2008-12-01 * interp/define.boot (disallowNiAttribute): Remove.dos-reis1-3/+3
(compDefineFunctor1): Don't use it anymore. (compCategoryItem): Filter out nil attributes here.
2008-11-20 * algebra/coerce.spad.pamphlet (CoercibleFrom): New.dos-reis1-305/+0
(ConvertibleFrom): Likewise. (RetractableTo): Use it. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include KRCFROM and KVTFROM. * share/algebra/: Update databases.
2008-10-13 Add support for Lisp declarations in generated Lisp code.dos-reis1-4/+8
* interp/i-map.boot (compileCoerceMap): Tell backend that minivector is global. * interp/i-spec1.boot (compileADEFBody): Likewise. * interp/slam.boot (reportFunctionCompilation): Likewise. * interp/define.boot (spadCompileOrSetq): Tell backend to ignore last argument for simple functions. * interp/c-util.boot (skipDeclarations): New. (lastDeclarationNode): Likewise. (declareGlobalVariables): Likewise. (transformToBackendCode): Use them to allow for Lisp declarations in middle-end forms. * interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level Floating point numbers default to double precision. * algebra/strap: Update.
2008-10-11Update algebra bootstrap cache.dos-reis1-6/+45
2008-08-17 * algebra/Makefile.pamphlet (all-algstrap): New.dos-reis1-80/+395
* algebra/strap: Update cached Lisp translation.
2008-08-16 * algebra/strap: New. Sequester cached Lisp translation ofdos-reis1-0/+302
algebra bootstrap domains here.