aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/EUCDOM-.lsp
AgeCommit message (Collapse)AuthorFilesLines
2011-01-24 * algebra/array1.spad.pamphlet: Use %aref instead of %vref.dos-reis1-32/+32
* interp/g-opt.boot (optSETRECORDELT): Tidy code generation. (optRECORDCOPY): Likewise. (optRECORDELT): Likewise. ($VMsideEffectFreeOperators): Include %aref. Translate.
2011-01-02 * interp/nrunfast.boot (evalSlotDomain): Expand to VM forms beforedos-reis1-1/+1
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.
2010-10-27 * algebra/boolean.spad.pamphlet (Logic): Now extend Type.dos-reis1-13/+13
2010-07-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis1-1/+1
* interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis1-219/+219
* 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-reis1-8/+8
initializations in %bind expressions. * interp/g-util.boot (expandBind): The body of s %bind expression may be a sequence of statements.
2010-06-22 Group sequence of LETT definitions into LET/LET* expressions wheredos-reis1-171/+145
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-20 * interp/g-opt.boot (changeVariableDefinitionToStore): New.dos-reis1-18/+11
(optimizeFunctionDef): Use it.
2010-06-20 * interp/compiler.boot (massageLoop): New.dos-reis1-47/+46
(compRepeatOrCollect): Use it to generate appropriate %loop forms. Bind new special variable $mayHaveFreeIteratorVariables. (complainIfShadowing): Set it as appropriate.
2010-06-09 * interp/compiler.boot (canReturn): Handle %when and %bind.dos-reis1-77/+47
(compMatchAlternative): Generate %bind form. (compMatch): Likewise. (compReduce1): Rewrite. (getIdentity): Tidy. * interp/g-opt.boot (changeThrowToExit): HAndle %reduce. (varIsAssigned): %store is side-effectful. * interp/g-util.boot (expandReduce): New. Expand %reduce forms. * interp/i-map.boot (getUserIdentifiersIn): Handle %reduce. (findLocalVars1): Likewise. * interp/i-spec1.boot (checkForFreeVariables): Likewise.
2010-06-06 * interp/c-util.boot (mutateToBackendCode): Don't replace explicitdos-reis1-25/+15
SETQ by LETT.
2010-06-06 * interp/compiler.boot (compRepeatOrCollect): Compile listdos-reis1-74/+46
comprehension to %collect form.
2010-06-04Update cached algebra Lisp filesdos-reis1-18/+17
2010-06-04 * interp/buildom.boot: Clean up QEQCAR uses.dos-reis1-15/+14
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis1-5/+5
* 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-05 * interp/compiler.boot (compSetq1): Call self, not compSetq.dos-reis1-18/+12
* interp/c-util.boot (isAtomicForm): Move to g-util.boot. * interp/g-opt.boot (optSEQ): Splice toplevel PROGN forms. * interp/g-util.boot (isAtomicForm): Move from c-util.boot. Export.
2010-05-03 Generate more readable code for functor definitions.dos-reis1-12/+8
* interp/nruncomp.boot (washFunctorBody): New. (buildFunctor): Use it. * interp/g-opt.boot (optBind): New. (optLIST): Likewise.
2009-08-28 * boot/ast.boot (bfCase): Don't introduce temporary for scrutineedos-reis1-5/+5
when it is already reduced.
2009-08-16 * interp/i-map.boot (addMap): Fix typo from last commit.dos-reis1-2/+2
* 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-20/+14
(transformToBackendCode): Use it.
2009-05-29 * interp/compiler.boot (getSuccessEnvironment): Tidy.dos-reis1-79/+80
(getInverseEnvironment): Likewise. (compLogicalNot): Don't normalize to if-statement.
2009-04-18 * algebra/mkfunc.spad.pamphlet (InputForm): Remove assignment to Rep.dos-reis1-4/+4
(convert): Use per and rep operators. * algebra/stap: Updated cached Lisp translation.
2009-03-01 Optimization should not change slot numbers.dos-reis1-95/+102
2009-02-08 Fix AW/103dos-reis1-45/+47
* 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.
2009-02-08 Fix AW/66dos-reis1-58/+57
* algebra/zerodim.spad.pamphlet: Restore use of one? * algebra/updivp.spad.pamphlet: Likewise. * algebra/unifact.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/tools.spad.pamphlet: Likewise. * algebra/suts.spad.pamphlet: Likewise. * algebra/sttaylor.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/sregset.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise. * algebra/riccati.spad.pamphlet: Likewise. * algebra/rf.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet: Likewise. * algebra/rderf.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/quat.spad.pamphlet: Likewise. * algebra/puiseux.spad.pamphlet: Likewise. * algebra/pscat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/prs.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polset.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/perm.spad.pamphlet: Likewise. * algebra/pattern.spad.pamphlet: Likewise. * algebra/padiclib.spad.pamphlet:Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/opalg.spad.pamphlet: Likewise. * algebra/op.spad.pamphlet: Likewise. * algebra/omerror.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/nlinsol.spad.pamphlet: Likewise. * algebra/newpoly.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/naalg.spad.pamphlet: Likewise. * algebra/multpoly.spad.pamphlet: Likewise. * algebra/mring.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/moddfact.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/matstor.spad.pamphlet: Likewise. * algebra/matrix.spad.pamphlet: Likewise. * algebra/matcat.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/lodof.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/intrf.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/intfact.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/intclos.spad.pamphlet: Likewise. * algebra/intaux.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intaf.spad.pamphlet: Likewise. * algebra/gpol.spad.pamphlet: Likewise. * algebra/gpgcd.spad.pamphlet: Likewise. * algebra/gb.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/galutil.spad.pamphlet: Likewise. * algebra/galpolyu.spad.pamphlet: Likewise. * algebra/galfact.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/fs2ups.spad.pamphlet: Likewise. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/free.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fparfrac.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fmod.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/ffx.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/efupxs.spad.pamphlet: Likewise. * algebra/efuls.spad.pamphlet: Likewise. * algebra/e04routine.spad.pamphlet: Likewise. * algebra/e04agents.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/derham.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defaults.spad.pamphlet: Likewise. * algebra/d03agents.spad.pamphlet: Likewise. * algebra/d01weights.spad.pamphlet: Likewise. * algebra/d01routine.spad.pamphlet: Likewise. * algebra/d01agents.spad.pamphlet: Likewise. * algebra/curve.spad.pamphlet: Likewise. * algebra/crfp.spad.pamphlet: Likewise. * algebra/cont.spad.pamphlet: Likewise. * algebra/constant.spad.pamphlet: Likewise. * algebra/complet.spad.pamphlet: Likewise. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/catdef.spad.pamphlet: Likewise. * algebra/brill.spad.pamphlet: Likewise. * algebra/array1.spad.pamphlet: Likewise. * algebra/algfunc.spad.pamphlet: Likewise. * algebra/algfact.spad.pamphlet: Likewise.
2009-01-06 * interp/sys-utility.boot (getVMType): IndexList are lists.dos-reis1-5/+5
* interp/g-util.boot (isSubDomain): Tidy. * interp/g-opt.boot (isVMConstantForm): New. (findVMFreeVars): Likewise. * interp/define.boot (insertViewMorphisms): Remove. (emitSubdomainInfo): New. (checkVariableName): Likewise. (checkParameterNames): Likewise. (checkRepresentation): Set $subdomain where appropriate. (compDefines): Check parameter names. (compDefineFunctor1): Propagate subdomain info. (doIt): Don't call insertViewMorphisms. * interp/compiler.boot (setqSingle): Check variable name. (compIterator): Likewise. (commonSuperType): New. (satisfies): Likewise. (coerceSubset): Use them to implemen cross-subdomain coercion. (coerceSuperset): New. (comCoerce1): Use it. (compPer): New. (compRep): Likewise. * interp/c-util.boot (getRepresentation): New. (proclaimCapsuleFunction): Improve for specialized subdomains. * algebra/stream.spad.pamphlet: Don't use `per' as variable name. * algebra/si.spad.pamphlet (size$SingleInteger): Tidy. (coerce$SingleInteger): Likewise. * algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use `rep' as parameter name. * algebra/data.spad.pamphlet (Byte): Now a subdomain of NonNegativeInteger. Tidy.
2008-12-14 r12459@gauss: gdr | 2008-12-12 18:18:31 -0600dos-reis1-85/+82
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-11-20 * algebra/coerce.spad.pamphlet (CoercibleFrom): New.dos-reis1-99/+0
(ConvertibleFrom): Likewise. (RetractableTo): Use it. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include KRCFROM and KVTFROM. * share/algebra/: Update databases.
2008-10-11Update algebra bootstrap cache.dos-reis1-5/+39
2008-08-17 * algebra/Makefile.pamphlet (all-algstrap): New.dos-reis1-5/+104
* algebra/strap: Update cached Lisp translation.
2008-08-16 * algebra/strap: New. Sequester cached Lisp translation ofdos-reis1-0/+518
algebra bootstrap domains here.