aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-util.boot
AgeCommit message (Collapse)AuthorFilesLines
2012-05-08 * boot/tokens.boot: Export char. Do not rename maxIndex.dos-reis1-1/+1
* lisp/core.lisp.in (maxIndex): Define and export. * interp/bootlex.lisp: Adjust. * interp/parsing.lisp: Likewise. * interp/macros.lisp: Likewise. (DROPTRAILINGBLANKS): Remove. (BLANKP): Likewise. (NONBLANKLOC): Likewise. * interp/io.boot (trimTrailingBlank): New. (firstNonblankCharPosition): Likewise. * interp/preparse.lisp: Use them. Adjust. * interp/sys-macros.lisp (char): Remove. * interp/vmlisp.lisp (MAXINDEX): Likewise. * interp/br-search.boot (pmTransFilter): Fix bogus uses of char. * interp/debug.lisp: Likewise. * interp/g-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise.
2012-05-07 * interp/sys-globals.boot ($insideCompTypeOf): Remove.dos-reis1-13/+0
* interp/preparse.lisp (INITIAL-SUBSTRING): Remove. * interp/g-util.boot (stringPrefix?): Remove. * interp/compiler.boot (compTypeOf): Remove. (comp3): Don't call it.
2012-05-03 * interp/g-opt.boot ($AbstractionOperator): Remove SLAM.dos-reis1-1/+1
* interp/c-util.boot (backendCompileSLAM): Remove. (backendCompileSPADSLAM): Tidy. (backendCompile2): Adjust.
2012-05-01 * algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,dos-reis1-1/+1
%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.
2012-04-28 * interp/boot-pkg.lisp (gensym?): Check for non-null object.dos-reis1-1/+1
* 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.
2012-02-26 * interp/g-util.boot (usedSymbol?): Remove.dos-reis1-12/+21
(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.
2012-02-13 * interp/g-util.boot (stripTags): Rename from stripUnionTags.dos-reis1-2/+2
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.
2011-12-18 * interp/g-opt.boot (removeScope!): New.dos-reis1-1/+1
(optimize!): Call it. (optimizeFunctionDef): Simplify.
2011-12-15 * interp/g-util.boot (prefixWalk!): New.dos-reis1-0/+8
* interp/g-opt.boot (cleanLoop!): Rename from removeLoopExitTag!. Adjust caller. Rewrite as a prefix walk.
2011-12-14fix miscdos-reis1-1/+1
2011-12-12 * interp/g-util.boot (liftAassignments!): New.dos-reis1-2/+13
(splitAssignments!): Use it. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Fix thinko.
2011-12-11 * interp/g-opt.boot (inlineLocals!): Single-used temporaries should go.dos-reis1-3/+7
(spliceSeqArgs): Splice sequences drapped in %scope cloths too.
2011-12-10 * interp/g-opt.boot (optSeq): Remove splicePROGN as redundant.dos-reis1-0/+4
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN. (DescendCode): Likewise. * interp/c-util.boot (displayComp): Fix thinko.
2011-12-07 * interp/g-opt.boot (groupTranscients!): New.dos-reis1-0/+21
(reduceXLAM!): Likewise. (optimizeFunctionDef): Call them before simplifyVMForm. * interp/g-util.boot (mkSeq): New. (abstraction?): Likewise. (walkWith!): Likewise.
2011-12-05 * interp/g-util.boot (splitAssignments): Rework.dos-reis1-4/+10
(spliceSeqArgs): Tidy. * algebra/gdpoly.spad.pamphlet (GeneralDistributedMultivariatePolynomial): Fix thinko.
2011-12-05 * interp/g-opt.boot (changeVariableDefinitionToStore): Separatelydos-reis1-2/+3
handle %bind and LET forms. * interp/g-util.boot (spliceSeqArgs): Recurse into %seq forms.
2011-12-04 * interp/g-util.boot (splitAssignments): New.dos-reis1-0/+11
(spliceSeqArgs): Use it.
2011-12-03 * interp/compiler.boot: Use %seq in lieu of PROGN.dos-reis1-1/+15
* interp/g-util.boot (spliceSeqArgs): New. * interp/g-opt.boot (changeVariableDefinitionToStore): Call it before recursing on %seq forms.
2011-12-03 * interp/compiler.boot (setqMultiple): Handle lhs and rhs of typedos-reis1-1/+2
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.
2011-12-03 * interp/compiler.boot: Replace %labelled with %scope.dos-reis1-3/+3
* interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-util.boot: Likewise. Rename mkLabelled to mkScope.
2011-12-03 * interp/g-util.boot (hasNoLeave?): Move from g-opt.boot.dos-reis1-0/+23
(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.
2011-11-29 * boot/tokens.boot (absKind, absParms, absBody): New selectors.dos-reis1-1/+1
* 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.
2011-11-24 * interp/define.boot: Tidy.dos-reis1-2/+2
* interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise.
2011-11-16 * interp/category.boot (mkCategory): Tidy.dos-reis1-0/+32
(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.
2011-10-31 * interp/i-funsel.boot (evalMmCond0): Tidy. Call evalMmGuard todos-reis1-0/+9
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.
2011-10-27 Support use of any natural number literal as constant name.dos-reis1-0/+21
* 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.
2011-10-18 * interp/postpar.boot (displayPreCompilationErrors): Dot not checkdos-reis1-1/+1
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.
2011-10-04 * boot/utility.boot (symbolAssoc): Rename from assocSymbol. Export.dos-reis1-6/+5
* 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.
2011-10-03 Cleanup.dos-reis1-1/+1
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-6/+7
* 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.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-2/+2
(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.
2011-09-08 * interp/c-util.boot (builtinCategoryName?): Move to g-util.boot.dos-reis1-0/+40
(builtinFunctorName?): Likewise. (builtinConstructor?): Likewise. (superType): Exit early if builtin functor or non-domain form. * algebra/Makefile.in: Flesh out bootstrap dependencies.
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-3/+3
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.
2011-09-03 * interp/property.lisp: Remove unused codes.dos-reis1-2/+5
* 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.
2011-08-29 * interp/lisplib.boot (loadLib): Remove deadcode.dos-reis1-7/+6
(isDomainForm): Tidy. (isFunctor): Likewise. (compDefineExports): Remove as no longer used. * interp/sys-utility.boot (loadExports): Likewise. * interp/g-util.boot (get0, get1, get2): Tidy.
2011-08-25 * interp/hashcode.boot: Remove.dos-reis1-4/+0
*interp/interop.boot: Move OpenAxiom relevant code to define.boot and nrunfast.boot. Remove.
2011-08-22 * interp/database.boot (getConstructorModemap): Rename fromdos-reis1-1/+1
getConstructorModemapFromDB. Adjust callers.
2011-08-12 * interp/nrunfast.boot (newLookupInTable): Compare domain anddos-reis1-1/+1
dollar as objects, not as value. (newLookupInCategories): Remove deadcode. (newExpandGoGetTypes): Remove as unused.
2011-08-12 * interp/define.boot (NRTgetLookupFunction): Handle the case wheredos-reis1-1/+7
the base domain is a parameter. * interp/g-util.boot (formalVarNumber): New. * lisp/core.lisp.in (readIntegerIfCan): Likewise.
2011-08-06cleanupdos-reis1-15/+15
2011-08-04cleanupdos-reis1-7/+7
2011-05-21more cleanupdos-reis1-6/+0
2011-05-19 * interp/buildom.boot (lookupInDomainVector): Establish a newdos-reis1-2/+2
binding for $lookupDefaults.
2011-05-17more cleanupdos-reis1-1/+1
2011-05-06more cleanupdos-reis1-1/+1
2011-05-05more cleanupdos-reis1-2/+2
2011-05-02 * boot/parser.boot (bpDefinition): Accept macro definitiondos-reis1-2/+2
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.
2011-05-02more cleanupdos-reis1-2/+2
2011-04-30 * More cleanupdos-reis1-12/+12
2011-04-30more cleanupdos-reis1-4/+3