Age | Commit message (Collapse) | Author | Files | Lines |
|
* interp/c-util.boot (backendCompileSLAM): Remove.
(backendCompileSPADSLAM): Tidy.
(backendCompile2): Adjust.
|
|
%imulmod.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* interp/c-util.boot (devaluate): Use # in lieu of QVSIZE.
* interp/g-opt.boot: %ilfshift and %irshift are now builtin
side-effect free operations.
* interp/lisp-backend.boot: Translate them.
* interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE.
* interp/slam.boot: Likewise.
* interp/sys-macros.lisp: Likewise.
* interp/macros.lisp: Avoid QVMAXINDEX.
* interp/vmlisp.lisp (QSDIFFERENCE): Remove.
(QSGREATERP): Likewise.
(QSLEFTSHIFT): Likewise.
(QSLESSP): Likewise.
(QSMAX): Likewise.
(QSMIN): Likewise.
(QSMINUS): Likewise.
(QSMINUSP): Likewise.
(QSODDP): Likewise.
(QSABSVAL): Likewise.
(QSPLUS): Likewise.
(QSZEROP): Likewise.
(QVMAXINDEX): Likewise.
(QVSIZE): Likewise.
(ZERO?): Likewise.
|
|
* interp/clammed.boot: Use it in lieu of GENSYMP.
* interp/debug.lisp: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/vmlisp.lisp (GENSYMP): Remove.
|
|
(bindingForm?): New.
(usesVariable?): Likewise.
* interp/compiler.boot (declareUnusedParameters): Use it.
* interp/g-opt.boot (inlineLocals): Likewise.
(optClosure): Likewise.
(optBind): Likewise.
* interp/define.boot (compContained): Remove.
|
|
Adjust callers.
* interp/database.boot (genericInstanceForm): New.
* interp/buildom.boot (parentsOfBuiltinInstance): New.
(builtinInstanceForm): Likewise.
* interp/br-data.boot (genericParentsOf): New.
(parentsOfForm): Use it,
(ancestorsRecur): Likewise.
* interp/br-con.boot (originInOrder): Use parentsOfForm.
|
|
(optimize!): Call it.
(optimizeFunctionDef): Simplify.
|
|
* interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!.
Adjust caller. Rewrite as a prefix walk.
|
|
|
|
(splitAssignments!): Use it.
* algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial):
Fix thinko.
|
|
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
|
|
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN.
(DescendCode): Likewise.
* interp/c-util.boot (displayComp): Fix thinko.
|
|
(reduceXLAM!): Likewise.
(optimizeFunctionDef): Call them before simplifyVMForm.
* interp/g-util.boot (mkSeq): New.
(abstraction?): Likewise.
(walkWith!): Likewise.
|
|
(spliceSeqArgs): Tidy.
* algebra/gdpoly.spad.pamphlet
(GeneralDistributedMultivariatePolynomial): Fix thinko.
|
|
handle %bind and LET forms.
* interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms.
|
|
(spliceSeqArgs): Use it.
|
|
* interp/g-util.boot (spliceSeqArgs): New.
* interp/g-opt.boot (changeVariableDefinitionToStore): Call it
before recursing on %seq forms.
|
|
Cross instance.
* interp/g-util.boot ($DomainNames): Include Cross.
* interp/cattable.boot (genCategoryTable): Do not eval Cross.
It is bogus to prepopulate the table with builtin functors anyway.
* algebra/triset.spad.pamphlet
(PolynomialSetUtilitiesPackage)[removeRedundantFactors]: Do not
define `c' and `d' in conditional. Make the initializer conditional.
|
|
* interp/define.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise. Rename mkLabelled to mkScope.
|
|
(mkLabelled): New.
(mkBind): Likewise.
* interp/g-opt.boot (groupVariableDefinitions): Use them.
* algebra/aggcat.spad.pamphlet (ListAggregate) [merge!]: Declare
local variables `r' and `s' before assigning to them.
|
|
* interp/compiler.boot (canReturn): Handle %lambda forms.
(compUnnamedMapping): Generate %lambda forms. Don't optimize them
yet.
* interp/g-opt.boot: %lambda forms are side-effect free.
* interp/lisp-backend.boot: Translate them.
|
|
* interp/functor.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
|
|
(SigListUnion): Likewise. The last argument is not a vector buffer.
(JoinInner): Use a vector buffer for scratch space to compute the
initial principal ancestor. Simplify copy logic.
* interp/g-util.boot (mkBuffer): New.
(bufferData): New.
(buffeLength): Likewise.
(resizeBuffer): Likewise.
(bufferToVector): Likwise.
* lisp/core.lisp.in (mkVector): New. Export.
|
|
validate modemap evaluation.
(evalMmGuard): New.
(evalMmCat): Do not call orderMmCatStack here. The stack is
already ordered by evalMmGuard, sole caller.
(hasCate): Handle domain query variables.
(unifyStruct): Call unifyQueryStruct for query variables.
(unifyQueryStruct): New.
* interp/g-util.boot (postComposeSubst): New.
(queryVar?): Likewise.
|
|
* interp/postpar.boot (postNormalizeName): Remove.
(postLhsOfDefinition): New.
(postDef): Use it.
(postMDef): Likewise.
(postForm): Remove dead code.
(postSignature): Internalize names of exported operators.
* interp/i-intern.boot (mkAtree2): For package call resolution,
use internal names.
* interp/compiler.boot (compAtomWithModemap): Use externalName for
name reported in diagnostic.
(compIntegerLiteral): New.
(compAtom): Use it.
(compElt): Look up modemaps for internal names.
(getModemapList): Likewise.
* interp/g-util.boot (normalizeName): New.
(internalName): Likewise.
(externalName): Likewise.
|
|
for interactive mode.
(postBigFloat): Likewise.
(postDef): Likewise.
(postMDef): Likewise.
(tuple2List): Likewise.
(postReduce): Likewise.
(postQUOTE): Remove.
(postQuot): Likewise.
(postOp): Likewise.
(postTran): Adjust.
* interp/newaux.lisp: Replace %LET with ':='.
* interp/property.lisp: Likewise.
* interp/g-util.boot (getTypeOfSyntax): Likewise.
* interp/define.boot (checkRepresentation): Likewise.
(doIt): Likewise.
* interp/compiler.boot (compSetq): Likewise.
(compRecoverGuard): Likewise.
(compReduce1): Likewise.
* interp/c-util.boot (lhsOfAssignment): Likewise.
(isAlmostSimple): Likewise.
* interp/c-doc.boot (recordAttributeDocumentation): Likewise.
* interp/parse.boot (parseLeftArrow): Remove.
(parseLETD): Likewise.
(parseAssign): Rename from parseLET.
* algebra/syntax.spad.pamphlet (SpadAst): Handle both cases.
|
|
* interp/functor.boot: Remove getAbbreviation, mkAbbrev, addsuffix.
* interp/sys-utility.boot (symbolAssoc): Remove as redundant.
(scalarTarget): New.
* interp/bc-matrix.boot: Use symbolTarget instead of symbolLassoc.
* interp/br-con.boot: Use QLASSQ instead of symbolTarget.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/vmlisp.lisp (assoc): Tidy.
|
|
|
|
* boot/ast.boot: Use it. instead of ASSOC.
* boot/translator.boot (packageBody): Tidy.
* interp/astr.boot: Use objectAssoc instead of ASSQ.
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/posit.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/sys-utility.boot (upwardCut): New.
* interp/spad.lisp: Use it.
* interp/util.lisp: Likewise.
* interp/spaderror.lisp: Likewise.
* interp/vmlisp.lisp (ASSEMBLE): Remove.
(ASSQ): Likewise.
(MEMQ): Likewise.
(NAMEDERRSET): Likewise.
(ORADDTEMPDEFS): Likewise.
* interp/macros.lisp (QLASSQ): Move to vmlisp.lisp.
(LASSQ): Remove.
|
|
(setUnion): New.
(setDifference): New.
* boot/translator.boot (packageBody): New.
(translateToplevel): Use it. Translate namespace definition.
* boot/tokens.boot: Replace bitmask with bitref.
Do not translate setDifference and setUnion.
* boot/parser.boot (bpDef): Now include namespace definition.
(bpComma): Remove namespace rule as subsumed by Where rule.
* boot/Makefile.in: Remove dependencies on initial-env.lisp.
(AXIOM_LOCAL_LISP_sources): Remove as unused,
(boot_sources): Remove as redundant with boot_SOURCES.
* boot/initial-env.lisp: Remove.
|
|
(builtinFunctorName?): Likewise.
(builtinConstructor?): Likewise.
(superType): Exit early if builtin functor or non-domain form.
* algebra/Makefile.in: Flesh out bootstrap dependencies.
|
|
only if not bootstrapping.
(isFunctor): Tidy.
* interp/g-util.boot (superType): Tidy.
* interp/database.boot (getDualSignature): Rename from
getDualSignatureFromDB. Adjust callers.
* interp/c-util.boot (isKnownCategory): Remove.
(diagnoseUnknownType): Use isCategoryForm.
* interp/bootlex.lisp (GET-INTEGER-IN-RADIX): Use SPAD_SYNTAX_ERROR.
* interp/metalex.lisp (GET-STRING-TOKEN): Likewise.
* interp/parsing.lisp (MUST): Likewise.
* algebra/boolean.spad.pamphlet (Refrence) [coerce]: Bypass
conversion to Identifier.
* algebra/domain.spad.pamphlet (ContructorKind): Tidy.
|
|
* interp/g-util.boot (superType): If domain is $ then use current
information.
* interp/daase.lisp: Tidy.
* interp/c-util.boot (extendsCategoryForm): Temporarily disable
uses of information not coming from on-the-fly category compilation.
* interp/br-data.boot (getParentsFor): Change first parameter to a DB.
Adjust callers.
* algebra/Makefile.in: Adjust dependencies.
|
|
(isDomainForm): Tidy.
(isFunctor): Likewise.
(compDefineExports): Remove as no longer used.
* interp/sys-utility.boot (loadExports): Likewise.
* interp/g-util.boot (get0, get1, get2): Tidy.
|
|
*interp/interop.boot: Move OpenAxiom relevant code to define.boot
and nrunfast.boot. Remove.
|
|
getConstructorModemapFromDB. Adjust callers.
|
|
dollar as objects, not as value.
(newLookupInCategories): Remove deadcode.
(newExpandGoGetTypes): Remove as unused.
|
|
the base domain is a parameter.
* interp/g-util.boot (formalVarNumber): New.
* lisp/core.lisp.in (readIntegerIfCan): Likewise.
|
|
|
|
|
|
|
|
binding for $lookupDefaults.
|
|
|
|
|
|
|
|
starting with the keyword "MACRO".
* boot/translator.boot (exportNames): Export them in all
evaluation contexts.
* interp/c-util.boot: "macro" is now a keyword.
* interp/define.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/postpar.boot: Likewise.
|
|
|
|
|
|
|
|
(applySubst): Likewise. Export.
* boot/ast.boot: Use it. Remove SUBLIS and SUBLISLIS.
* interp/ax.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/compiler.boot: Likewise.
|
|
* interp/modemap.boot (knownInfo): Fix latent bug uncovered by
type declarations.
* boot/ast.boot: Remove type definitions.
(bfIN): Handle DOT as loop variable.
(bfON): Likewise. Allow a loop variable to iterator over its own
tails.
* boot/parser.boot (bfTyping): Simplify.
(bpSimpleMapping): Fix thinko.
|