aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
AgeCommit message (Collapse)AuthorFilesLines
2012-05-04 * interp/lisp-backend.boot (assembleCode): New.dos-reis1-14/+3
* interp/c-util.boot (backendCompileSPADSLAM): Use it. (backendCompile2): Likewise.
2012-05-03 * interp/c-util.boot: Use LAMBDA type in lieu of LAM.dos-reis1-3/+3
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/lisp-backend.boot (COMPILE1): Tidy. * interp/slam.boot: Likewise.
2012-05-03 * interp/g-opt.boot ($AbstractionOperator): Remove SLAM.dos-reis1-41/+7
* interp/c-util.boot (backendCompileSLAM): Remove. (backendCompileSPADSLAM): Tidy. (backendCompile2): Adjust.
2012-05-03 * interp/c-util.boot (makeWorkerName): New.dos-reis1-3/+5
(backendCompileSLAM): Use it. (backendCompileSPADSLAM): Likewise. * interp/clam.boot (compHash): Likewise. Do not synthetize new parameter for unary constructors.
2012-05-03 * interp/c-util.boot: Use APPLY, not APPLX.dos-reis1-1/+1
* interp/clam.boot: Likewise. * interp/i-output.boot: Likewise. * interp/slam.boot: Likewise. * interp/vmlisp.lisp (APPLX): Remove.
2012-05-02 * interp/c-util.boot (backendCompileSPADSLAM): Do not devaluatedos-reis1-10/+11
argument list. Tidy.
2012-05-02 * interp/c-util.boot (backendCompileSPADSLAM): Tidy. Do notdos-reis1-9/+8
devaluate argument of unary constructors.
2012-05-01 * interp/vmlisp.lisp (COMP370): Move to c-util.bootdos-reis1-0/+5
(compileLispDefinition): Move to lisp-backend.boot.
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-02-26 * interp/g-util.boot (usedSymbol?): Remove.dos-reis1-2/+2
(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-26 * interp/c-util.boot (numOfOccurencesOf): Tidy.dos-reis1-1/+4
* interp/compiler.boot (compUnnamedMapping): Fix thinko. * interp/g-opt.boot (semiSimpleRelativeTo?): Likewise.
2012-02-07 * interp/lisplib.boot (dbLocateModule): New.dos-reis1-2/+2
(findModule): Use it. Simplify. (loadLib): Tidy. (genericLoadDB): New. (loadDB): Use it. (loadDBIfCan): New. * interp/c-util.boot (lookupDefiningFunction): Give up gracefully if the domain of computation is not compiled yet. * algebra/Makefile.in ($(OUT)/SPADAST.$(FASLEXT)): Require $(OUT)/SUCHTAST.$(FASLEXT).
2011-12-28 * interp/vmlisp.lisp (SORTBY): Remove.dos-reis1-6/+6
(QSORT): Likewise. * interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION. * interp/sys-utility.boot (sortBy): New. * interp/br-op1.boot: Use it. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/showimp.boot: Likewise. * boot/tokens.boot: "<-" is now a token. * boot/ast.boot (bfKeyArg): New. (bfExpandKeys): Likewise. (bfApplication): Use it. * boot/parser.boot (bpKeyArg): New. (bpAssign): Use it. Parse named arguments.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-4/+4
* boot/utility.boot (drop): Define and export. (take): Likewise. * interp/br-con.boot: Use take, not TAKE; use drop, not DROP. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/guess.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/parse.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. * interp/macros.lisp (DROP): Remove. (TAKE): Likewise.
2011-12-10 * interp/g-opt.boot (optSeq): Remove splicePROGN as redundant.dos-reis1-1/+1
* interp/functor.boot (optFunctorBody): Generate %seq form, not PROGN. (DescendCode): Likewise. * interp/c-util.boot (displayComp): Fix thinko.
2011-12-10 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis1-3/+3
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-11-30 * interp/define.boot (registerInlinableDomain): Lose last argument.dos-reis1-7/+8
Recursively nominate constructor argument for inlining. Adjust callers. * interp/c-util.boot: Tidy. * algebra/Makefile.in: Tidy.
2011-11-30 * interp/c-util.boot (clearReplacement): Clear redex replacement.dos-reis1-15/+16
(registerRedexForm): New. (redexForm): Likewise. (inlineDirectCall): Inline functions with known redex forms. (foldExportedFunctionReferences): Compute redex forms. (backendCompileILAM): Remove as unused. (backendCompile2): Adjust. (massageBackendCode): Likeiwse. * interp/define.boot (compDefineCapsuleFunction): Clear replacement info.
2011-11-28 * interp/c-util.boot (inlineDirectCall): Inline a non-side effectdos-reis1-0/+3
free argument in a unary pure function call if it is used exactly once. * algebra/integer.spad.pamphlet (Integer) [reducedSystem]: Fix typo.
2011-11-26 * interp/c-util.boot (updateCapsuleDirectory): Simplify.dos-reis1-9/+3
* interp/define.boot (compDefineCapsuleFunction): Call it from here. * interp/functor.boot (DescendCode): Not here.
2011-11-26 * interp/br-con.boot (conOpPage1): Fix typo.dos-reis1-4/+28
* interp/c-util.boot (registerConstructor): New. (currentConstructor): Likewise. (makeCompilationData): Initialize dbEntityBuffer. (dbEntityBuffer): New. (dbUsedEntities): Likewise. (dbEntityCount): Likewise. * interp/compiler.boot: Adjust call to getLocalIndex, NRTassocIndex * interp/define.boot: Likewise. ($NRTdeltaLength): Remove. * interp/nruncomp.boot: Likewise.
2011-11-11 * interp/br-data.boot: Change NRTEVAL to %eval.dos-reis1-1/+1
* interp/c-util.boot: Likewise. * interp/define.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise.
2011-11-11 * interp/c-util.boot (dbByteList): New accessor macro.dos-reis1-2/+8
* interp/define.boot ($byteVec): Remove. (getInfovecCode): Do not bind it. (makeGoGetSlot): Take DB as first parameter. Adjust caller. Update dbByteList. (NRTmakeCategoryAlist): Adjust.
2011-11-10 * interp/daase.lisp (dbLookupFunction): New accessor macro.dos-reis1-4/+5
* interp/c-util.boot (lookupDefiningFunction): Use it. Tidy. * interp/define.boot ($lookupFunction): Remove. (getInfovecCode): Use dbLookupFunction. (compDefineFunctor1): Set it. Do not emit %incomplete anymore. * interp/lisplib.boot (writeLookupFunction): New. (finalizeLisplib): Use it.
2011-11-09 * interp/define.boot (compFunctorBody): First argument is now a DB.dos-reis1-9/+9
Adjustt caller. (incompleteFunctorBody): Likewise. * interp/bc-matrix.boot: Use toString instead of STRINGIMAGE where appropriate. * interp/bc-solve.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.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/msg.boot: Likewise. * interp/newfort.boot: Likewise. * interp/parse.boot: Likewise. * interp/pathname.boot: Likewise. * interp/setvars.boot: Likewise. * interp/showimp.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise.
2011-11-02 * interp/c-util.boot (dbSubstituteAllQuantified): New.dos-reis1-1/+5
* interp/define.boot (NRTmakeCategoryAlist): Use it. (compDefineFunctor1): Likewise.
2011-10-30 * interp/sys-macros.lisp (MKPF1): Tidy.dos-reis1-4/+31
* interp/sys-constants.boot ($QueryVariables): New. * interp/define.boot ($whreDecls): Remove. (checkRepresentation): Take a DB as first parameter. Adjust Callers. (buildConstructorCondition): New (deduceImplicitParameters): Likewise (compDefineCategory2): Use it. (compDefineFunctor1): Likewise. (typeDependencyPath): Remove. (inferConstructorImplicitParameters): Likewise. * interp/compiler.boot (compTopLevel): Do not bind $whereDecls. (recordDeclarationInSideCondition): Take additional reference parameter to the list of processed decls. Adjust callers. (compWhere): Record any side decls in compilation environment. * interp/c-util.boot (makeCompilationData): Initialize implicit data. (dbParameters): New. (dbImplicitData): New accessor macro. (dbImplicitParameters): New. (dbImplicitConstraints): Likewise. (dbSubstituteFormals): Likewise. (dbSubstituteQueries): Likewise. * interp/database.boot (fixUpPredicate): Tidy. * boot/utility.boot (applySubst): Early exit on identity substitution. (applySubst!): Likewise. (applySubstNQ): Likewise. * boot/ast.boot (bfIS1): Accept pattern matching against Boolean constant true.
2011-10-29 * interp/daase.lisp (dbCompilerData): New accessor macro.dos-reis1-0/+18
(dbBeingDefined?): Adjust. * interp/c-util.boot (makeCompilationData): New. (dbFormalSubst): New accessor macro. (dbSubstituteFormals): New. * interp/define.boot ($pairlis): Remove. (NRTmakeCategoryAlist): Use dbSubstituteFormals. (NRTgetLookupFunction): Likewise. (compDefineCategory2): Likewise. Set dbCompilerData and dbFormalSubst. (compDefineFunctor1): Likewise. * interp/functor.boot (ProcessCond): Use dbSubstituteFormals. * interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise. (makePredicateBitVector): Likewise. (finalizeLisplib): Do not set $pairlis.
2011-10-19misc cleanupdos-reis1-1/+1
2011-10-18 * interp/postpar.boot (displayPreCompilationErrors): Dot not checkdos-reis1-3/+3
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-8/+8
* 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 * interp/comp.lisp: Remove.dos-reis1-0/+2
* interp/setvart.boot: Remove setting of 'compiler' options. * interp/setvars.boot (setAsharpArgs): Remove. (describeAsharpArgs): Likewise. (setInputLibrary): Likewise. (setOutputLibrary): Likewise. (describeInputLibraryArgs): Likewise. (describeOutputLibraryArgs): Likewise.
2011-10-03 Cleanup.dos-reis1-3/+3
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-7/+9
* 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-3/+3
(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-37/+0
(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-13/+1
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-07 * interp/nruncomp.boot (NRTaddInner): Use the dual signature.dos-reis1-2/+1
* interp/lisplib.boot (writeDualSignature): New. (finalizeLisplib): Likewise. * interp/define.boot (compDefineCategory2): Compute dual signature. (compDefineFunctor1): Likewise. * interp/daase.lisp (LOCALNRLIB): Juts read dual signature info; don't compute it.
2011-09-07 * interp/define.boot (compDefineFunctor1): Augment the envionmentdos-reis1-2/+4
with current instantiation. * interp/c-util.boot (isSubset): Accept values of current instantiation as values of the current domain.
2011-09-03 * interp/property.lisp: Remove unused codes.dos-reis1-7/+7
* 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 (laodIfNecessaryAndExists): Remove as unused.dos-reis1-1/+8
(loadLibIfnecessary): Fold definition into loadIfNecessary. (loadDB): New. (writeAttributes): Likewise. (finalizeLisplib): Use it. * interp/daase.lisp (MAKE-DATABASES): Fix SQUEEZE snafu. * interp/c-util.boot (extendsCategoryForm): Prefer existing translation of category definition to re-evaluation on the fly.
2011-08-18 * interp/c-util.boot: Use category accessors.dos-reis1-2/+2
* interp/category.boot: Likewise. * interp/modemap.boot: Likewise.
2011-08-18 * interp/c-util.boot (categoryAssociatedTypes): Rename fromdos-reis1-8/+14
categoryHierarchy. Adjust callers. (categoryPrincipals): New. (categoryAncestors): Likewise. (categoryLocals): Likewise. (categoryParameters): Likewise. (extendsCategoryForm): Use them. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/modemap.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/database.boot (getCategoryAttributes): Remove. (getPrincipalAncestors): Likewise. (getCategoryParents): Likewise. * algebra/domain.spad.pamphlet (Category): Adjust.
2011-08-17 * interp/c-util.boot (categoryPrincipals): New.dos-reis1-0/+8
(categoryAncestors): Likewise. * interp/functor.boot (DescendCodeAdd): Tidy. (DescendCodeVarAdd): Fix thinko. Iterator over $domainShell. Don't pretend constants have ELT implementations. * interp/nruncomp.boot (buildFunctor): Tidy.
2011-08-15 * interp/g-opt.boot (optCollectVector): Generate VM forms.dos-reis1-9/+1
(optIinc): New. Register as new transformer. * interp/c-util.boot ($middleEndMacroList): Remove. (middleEndExpand): Don't check for Lisp-level macros anymore.
2011-08-13 * interp/c-util.boot (instantiationArgs): New.dos-reis1-1/+27
(domainDirectory): Likewise. (domainLookupFunction): Likewise. (domainOperatorTable): Likewise. (domainAttributes): Likewise. (domainPredicates): Likewise. (domainData): Likewise. * interp/buildom.boot: Use new domain accessors. * interp/functor.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise.
2011-08-12 * boot/ast.boot (shoeCompTran1): Translate extended vector-forms.dos-reis1-1/+1
* interp/c-util.boot: Use vector instead of LIST2VEC. * interp/define.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-special.boot: Likewise. * interp/interop.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/slam.boot: Likewise.
2011-08-08 * interp/c-util.boot (categoryHierarchy): New.dos-reis1-0/+4
* interp/category.boot (mkCategory): Use it. * interp/define.boot (NRTgetLookupFunction): Tidy. (catExtendsCat?): Lose last argument. Adjust callers.
2011-08-06cleanupdos-reis1-29/+31
2011-08-04cleanupdos-reis1-19/+19