Age | Commit message (Collapse) | Author | Files | Lines |
|
systemAlgebraDirectory.
* interp/database.boot (pathToDatabase): Use systemDatabaseDirectory.
* algebra/integer.spad.pamphlet (Integer) [latex]: Tidy.
* algebra/string.spad.pamphlet (Character) [latex]: Likewise.
* algebra/Makefile.in: Rework bootstrapping set up.
(COMPILE_LISP): Remove.
(axiom_algebra_layer_strap): Likewise.
(axiom_algebra_layer_strap_objects): Likewise.
(axiom_algebra_bootstrap): Likewise.
(oa_strap_0_fasls): New.
(oa_strap_1_fasls): Likewise.
(oa_strap_2_fasls): Likewise.
(oa_strap_0_sources): Likewise.
(oa_strap_1_sources): Likewise.
(oa_strap_2_sources): Likewise.
* src/algerab/strap: Remove.
|
|
disjunction forms.
|
|
disjunction forms.
|
|
|
|
* 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.
|
|
designate a place (usable in SETF).
|
|
* 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.
|
|
* algebra/formula.spad.pamphlet: Avoid Lispisms.
* algebra/mathml.spad.pamphlet: Likewise.
* algebra/op.spad.pamphlet: Likewise.
* algebra/sex.spad.pamphlet: Likewise.
|
|
(simplifySEQ): Use it.
|
|
Rename from mutateCONDFormWithUnaryFunction. Update callers
(mutateBindingFormWithUnaryFunction): Rename from
mutateLETFormWithUnaryFunction. Allow %bind form too.
Update callers.
|
|
|
|
|
|
%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.
|
|
|
|
$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.
|
|
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/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.
|
|
* 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.
|
|
BasicType if element type satisfies it.
|
|
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.
|
|
(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.
|
|
(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.
|
|
predicate iterators. There is exactly one instance in the entire
OpenAxio library.
* interp/g-util.boot (expandIN): Take one more parameter to
determine early binding.
(expandIterators): Determine if wider scope is needed for iterator
variables.
|
|
(mutateToBackendCode): Use it to record special vars.
Be careful with locally bound variables.
|
|
SETQ by LETT.
|
|
(transformToBackendCode): Use it. Don't add unneeded PROG/RETURN.
|
|
* 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.
|
|
* interp/nruncomp.boot (washFunctorBody): New.
(buildFunctor): Use it.
* interp/g-opt.boot (optBind): New.
(optLIST): Likewise.
|
|
(|check-union|): Likewise.
* interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract
instruction.
* interp/g-opt.boot (optRetract): New.
|
|
|
|
(compIntegerValue): Likewise.
(compStepIterator): Likewise.
(compIterate): Use it.
|
|
($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.
|
|
* 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.
|
|
|
|
when it is already reduced.
|
|
* 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.
|
|
* interp/parse.boot (parseGreaterEqual): Likewise.
|
|
* algebra/clifford.spad.pamphlet: Likewise.
* algebra/complet.spad.pamphlet: Likewise.
* algebra/contfrac.spad.pamphlet: Likewise.
* algebra/curve.spad.pamphlet: Likewise.
* algebra/ddfact.spad.pamphlet: Likewise.
* algebra/derham.spad.pamphlet: Likewise.
* algebra/equation2.spad.pamphlet: Likewise.
* algebra/ffcat.spad.pamphlet: Likewise.
* algebra/ffcg.spad.pamphlet: Likewise.
* algebra/fff.spad.pamphlet: Likewise.
* algebra/ffnb.spad.pamphlet: Likewise.
* algebra/ffp.spad.pamphlet: Likewise.
* algebra/ffpoly.spad.pamphlet: Likewise.
* algebra/ffx.spad.pamphlet: Likewise.
* algebra/fmod.spad.pamphlet: Likewise.
* algebra/fortmac.spad.pamphlet: Likewise.
* algebra/fr.spad.pamphlet: Likewise.
* algebra/fraction.spad.pamphlet: Likewise.
* algebra/fspace.spad.pamphlet: Likewise.
* algebra/gaussian.spad.pamphlet: Likewise.
* algebra/gpol.spad.pamphlet: Likewise.
* algebra/intclos.spad.pamphlet: Likewise.
* algebra/interval.spad.pamphlet: Likewise.
* algebra/laurent.spad.pamphlet: Likewise.
* algebra/matrix.spad.pamphlet: Likewise.
* algebra/modring.spad.pamphlet: Likewise.
* algebra/oct.spad.pamphlet: Likewise.
* algebra/opalg.spad.pamphlet: Likewise.
* algebra/padic.spad.pamphlet: Likewise.
* algebra/perman.spad.pamphlet: Likewise.
* algebra/pf.spad.pamphlet: Likewise.
* algebra/pfr.spad.pamphlet: Likewise.
* algebra/poly.spad.pamphlet: Likewise.
* algebra/polycat.spad.pamphlet: Likewise.
* algebra/puiseux.spad.pamphlet: Likewise.
* algebra/quat.spad.pamphlet: Likewise.
* algebra/radix.spad.pamphlet: Likewise.
* algebra/reclos.spad.pamphlet: Likewise.
* algebra/resring.spad.pamphlet: Likewise.
* algebra/sf.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/solvefor.spad.pamphlet: Likewise.
* algebra/sups.spad.pamphlet: Likewise.
* algebra/taylor.spad.pamphlet: Likewise.
* algebra/vector.spad.pamphlet: Likewise.
* algebra/xpoly.spad.pamphlet: Likewise.
|