Age | Commit message (Collapse) | Author | Files | Lines |
|
(mostSpecificTriple): New.
(compAtomWithModemap): Use it to resolve ambiguous constants.
(formatConstantCandidates): New.
(compForm1): Do try to compile constants 0 and 1 with compToApply.
* algebra/polycat.spad.pamphlet (FiniteAbelianMonoidRing)
[binomThmExpt]: Tidy.
(UnivariatePolynomialCategory) [pseudoDivide]: Likewise.
* algebra/float.spad.pamphlet (Float) [log]: Specificy type for
local variable `l'.
* interp/format.boot (formatUnabbreviatedSig): Handle constants.
|
|
* interp/lisp-backend.boot: Expand it.
* algebra/sf.spad.pamphlet (DoubleFloat): Remove %fmanexpr import.
Use %fdecode to access Lisp-level double-float decoding.
[mantissa]: Rewrite.
[exponent]: Likewise.
[negative?]: Likewise.
[positive?]: Likewise.
[manexp]: Likewise.
* algebra/view2D.spad.pamphlet (TwoDimensionalViewport): Tidy.
|
|
subsumption. Exit early on empty modemap candidate list.
|
|
|
|
constant marker in exported signatures.
* interp/cattable.boot (simpHas): Likewise.
* interp/format.boot (form2String1): Likewise.
* interp/i-eval.boot (evaluateSignature): Likewise.
* interp/i-funsel.boot (hasCaty): Likewise.
(hasAttSig): Likewise.
* interp/define.boot (extendsCategory): Likewise.
(extendsCategoryBasic): Likewise.
(catExtendsCat?): Likewise.
(mkExportFromDescription): New.
(mkCategoryPackage): Use it.
* boot/tokens.boot: Add new selectors: mapOpsig, mapOperation,
mapPredicate, and mapImpl.
|
|
signature inference.
(hasSigInTargetCategory): Implement what the documentation says:
infer the signature from the target category, not local declaration.
|
|
constant definition syntax.
(compDefine1): Likewise.
(compDefineCategory1): Likewise.
(compDefineFunctor1): Likewise.
(compDefineCapsuleFunction): Likewise.
(doIt): Likewise.
(isMacro): Tidy.
|
|
|
|
as special cases.
* interp/parse.boot (parseDEF): Tidy.
* interp/define.boot (checkRepresentation): Likewise.
(compDefine1): Likewise.
(macroExpand): Likewise.
(compDefineCategory1): Likewise.
(compDefineCategory2): Likewise.
(compDefineFunctor1): Likewise.
(compDefWhereClause): Likewise.
(compDefineCapsuleFunction): Likewise.
(isMacro): Likewise.
|
|
(postAtom): Use it.
(postMDef): Do not generate artificial list of nils.
Leave left-hand-side as written in source code.
* interp/compiler.boot (compMacro): Tidy.
* interp/define.boot (checkRepresentation): Likewise.
* interp/parse.boot (parseMDEF): Likewise.
* algebra/syntax.spad.pamphlet (MacroAst): Adjust.
|
|
Remove.
|
|
|
|
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/postpar.boot (postSEGMENT): Remove.
(postTupleCollect): Likewise.
(postBootNotEqual): Likewise.
* interp/parsing.lisp (CHAR-EQ): Remove.
(CHAR-NE): Likewise.
(getToken): Likewise.
* interp/newaux.lisp: Remove "^=" as legitimate operator.
* interp/lexing.boot (geToken): Rename from getSpadToken.
* interp/i-intern.boot (mkAtree3): Check for new form of universal
segment.
* interp/parse.boot (parseSegment): Likewise.
* algebra/seg.spad.pamphlet (Segment): Use .. instead of SEGMENT.
(SegmentFunctions2): Likewise.
(UniversalSegment): Likewise.
|
|
* interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and
"..".
* interp/spad.lisp: Tidy.
* interp/spad-parser.boot: New parsers.
* interp/preparse.lisp: Remove dead codes.
* interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove.
* interp/parse.boot (doParseCategory): Rename from parseCategory.
* interp/newaux.lisp: Tidy.
* interp/lexing.boot (getSpadToken): New.
(Keywords): Remove 'when'.
(matchKeywordNext): New.
(matchSpecial): Likewise.
(matchAdvanceSpecial): Likewise.
(matchAdvanceGlyph): Likewise.
* interp/fnewmeta.lisp: Move variable definitions to preparse.lisp.
Remove Lisp based parsers.
Remove file.
* interp/c-doc.boot (recordAttributeDocumentation): Fix thinko.
* interp/bootlex.lisp (GET-BOOT-TOKEN): Remove.
* interp/Makefile.in: Adjust dependencies.
* boot/parser.boot (bpChar): New.
(bpPattern): Allow character constants.
|
|
* interp/fnewmeta.lisp: Use them,
(PARSE-Return): Remove.
(PARSE-Throw): Likewise.
(PARSE-Jump): Likewise.
(PARSE-Exit): Likewise.
(PARSE-Leave): Likewise.
(PARSE-ElseClause): Likewise.
(PARSE-Label): Likewise.
|
|
* interp/spad-parser.boot: New parsing functions.
* interp/fnewmeta.lisp: Use them.
(PARSE-NewExpr): Remove.
(PARSE-Command): Likewise.
(PARSE-SpecialKeyWord): Likewise.
(PARSE-TokenOption): Likewise.
(PARSE-PrimaryOrQM): Likewise.
(PARSE-InfixWith): Likewise.
(PARSE-With): Likewise.
(PARSE-Inline): Likewise.
(PARSE-Quanifier): Likewise.
(PARSE-QuantifiedVariable): Likewise.
(PARSE-Infix): Likewise.
(PARSE-Prefix): Likewise.
(PARSE-Suffix): Likewise.
(PARSE-TokTail): Likewise.
(PARSE-Qualification): Likewise.
(PARSE-Primary): Likewise.
(PARSE-PrimaryNoFloat): Likewise.
(PARSE-Quad): Likewise.
|
|
* interp/spad-parser.boot: New parsing functions.
* interp/fnewmeta.lisp: Use them.
(PARSE-VarForm): Remove.
(PARSE-Scripts): Likewise.
(PARSE-ScriptItem): Likewise.
(PARSE-AnyId): Likewise.
* interp/parsing.lisp (PARSE-OperatorFunctionName): Remove.
(MATCH-ADVANCE-STRING): Likewise.
|
|
* interp/fnewmeta.lisp: Use it.
* interp/parsing.lisp: Likewise.
(MATCH-STRING): Remove.
|
|
Move remaining to parsing.lisp.
* interp/fnewmeta.lisp (PARSE-IntegerTok): Remove.
(PARSE-FloatTok): Likewise.
(PARSE-FormalParameter): Likewise.
(PARSE-FormalParameterTok): Likewise.
(PARSE-String): Likewise.
(PARSE-Name): Likewise.
|
|
|
|
* interp/parsing.lisp: Use them.
* interp/metalex.lisp: Likewise.
(GET-SPECIAL-TOKEN): Remove.
* interp/bootlex.lisp: Likewise. Remove old tokenizers,
|
|
Add more tokenizer functions.
* interp/fnewmeta.lisp: Use them.
* interp/parsing.lisp: Likewise.
* interp/bootlex.lisp: Likewise.
* interp/spad.lisp: Likewise.
(NEXT-BOOT-LINE): Remove.
* interp/metalex.lisp: Remove old lexing routines.
* interp/Makefile.in (lexing.$(FASLEXT)): Adjust dependency.
* boot/tokens.boot: newString is no longer builtin library function.
(shoeDictCons): Use makeString not newString.
* lisp/core.lisp.in (listToString): Fix typo.
|
|
* interp/bootlex.lisp: Use it.
* interp/fnewmeta.lisp: Likewise.
* interp/metalex.lisp: Likewise. Remove old token structure and
associated functions.
|
|
Add new grammar reduction abstract datatype facility.
* interp/fnewmeta.lisp: Use it.
* interp/parsing.lisp: Likewise.
* interp/bootlex.lisp (SPAD): Use popStack1.
* interp/spad-parser.boot (parseSpadFile): Likewise.
* interp/metalex.lisp: Remove REDUCTION and associated functions.
|
|
* interp/metalex.lisp: Include it. Use new stack datatype support.
* interp/parsing.lisp: Use new stack datatype support.
* interp/Makefile.in: Adjust.
|
|
* 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.
|
|
|
|
* interp/setvart.boot: Remove setting of 'compiler' options.
* interp/setvars.boot (setAsharpArgs): Remove.
(describeAsharpArgs): Likewise.
(setInputLibrary): Likewise.
(setOutputLibrary): Likewise.
(describeInputLibraryArgs): Likewise.
(describeOutputLibraryArgs): Likewise.
|
|
|
|
* 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.
|
|
* boot/translator.boot (packageBody): Tidy.
(translateToplevel): Likewise.
(getIntermediateLispFile): Likewise.
* interp/sys-os.boot: Import System.Foreign.
|
|
(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.
|
|
(mkUsersHashTable): Likewise.
(mkDependentsHashTable): Likewise.
(domainsOf): Likewise.
* interp/br-op1.boot (dbShowOpAllDomains): Likewise.
* interp/cattable.boot (showCategoryTable): Likewise.
(displayCategoryTable): Likewise.
(simpTempCategoryTable): Likewise.
(simpCategoryTable): Likewise.
(genTempCategoryTable): Likewise.
(compressHashTable): Likewise.
(updateCategoryTableForCategory): Likewise.
(clearTempCategoryTable): Likewise.
* interp/clam.boot (displayHashtable): Likewise.
(reportHashCacheStats): Likewise.
(reportInstantiations): Likewise.
(globalHashtableStats): Likewise.
* interp/guess.boot (buildWordTable): Likewise.
* interp/i-syscmd.boot (writify): Likewise.
* interp/scan.boot (scanDictCons): Likewise.
(scanPunCons): Likewise.
* interp/slam.boot (hashCount): Likewise.
* interp/topics.boot (mkTopicHashTable): Likewise.
(addTopic2Documentation): Likewise.
(topics): Likewise.
(listOfTopics): Likewise.
* interp/word.boot (buildWordTable): Likewise.
(writeFunctionTables): Likewise.
(bootSearch): Likewise.
|
|
|
|
(extractCodeAndConstructTriple): Likewise.
* interp/g-opt.boot (optCall): Likewise.
($VMsideEffectFreeOperators): Include %function
* interp/lisp-backend.boot: Translate %function.
|
|
* interp/g-opt.boot (doInlineCall): Tidy one more time.
($VMsideEffectFreeOperators): Move %aplly to $simpleVMoperators.
(optLET): Remove as unused.
* interp/lisp-backend.boot (expandApply): New. Register as
expander for %apply forms.
* interp/define.boot (getXmode): New.
(displayMissingFunctions): Use it instead of getmode.
(compDefineCapsuleFunction): Likewise.
(addDomain): Likewise.
(getSignature): Likewise.
(compile): Likewise.
(compJoin): Likewise.
* interp/compiler.boot (comp3): Likewise.
(compWithMappingMode): Likewise.
(applyMapping): Generate %apply form.
(compApplication): Likewise.
(autoCoerceByModemap): Likewise.
(extractCodeAndConstructTriple): Handle %apply forms.
(setqSingle): For domain variables, put corresponding macro forms
in the environment.
* algebra/ore.spad.pamphlet (Automorphism): Define Rep as a constant.
Adjust; include explicit uses of rep and per.
|
|
(canInlineVarDefinition): Likewise.
|
|
(check-subtype): Likewise.
(check-union): Likewise.
(MAKE-REASONABLE): Move to diagnostic.boot. Rename.
(assert): Move to sys-macros.lisp.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %retract
and %pullback.
(optRetract): Tidy.
(optPullback): New.
* interp/diagnostics.boot (makeReasonable): New.
(moanRetract): Likewise. Use it.
* interp/buildom.boot (mkNewUnionFunList): Simplify.
(mkUnionFunList): Likewise.
|
|
(optCall): Use it to implement inline functions.
($VMsideEffectFreeOperators): Include %apply and STRINGIMAGE.
($simpleVMoperators): STRINGIMAGE is promoted.
(canInlineVarDefinition): Tidy.
(optBind): Likewise.
|
|
(optCONDtail): Likewise.
|
|
(optIsub): Likewise.
(optIdec): New.
* algebra/string.spad.pamphlet (IndexedString): Fold definition
into String. Remove.
(Character): Tidy.
(CharacterClass): Likewise.
* algebra/exposed.lsp.pamphlet: Do not expose ISTRING.
|
|
(builtinFunctorName?): Likewise.
(builtinConstructor?): Likewise.
(superType): Exit early if builtin functor or non-domain form.
* algebra/Makefile.in: Flesh out bootstrap dependencies.
|
|
* interp/database.boot (loadDBIfnecessary): Tidy.
* interp/clammed.boot (hasFileProperty): Remove as unused.
* interp/lisplib.boot (putFileProperty): Likewise.
(getLisplib): Likewise.
(getLisplibNoCache): Likewise.
(getFileProperty): Likewise.
(hasfilePropertyNoCache): Likewise.
(unInstantiate): Likewise.
(killNestedInstantiations): Likewise.
(isNestedInstantiations): Likewise.
(loadFunctor): Likewise.
(getLisplibVersion): Likewise.
(Operators): Likewise.
(compDefineLisplib): Don't LOCALDATABASE if building system algebra.
|
|
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/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.
|
|
with current instantiation.
* interp/c-util.boot (isSubset): Accept values of current
instantiation as values of the current domain.
|
|
bootstrapping: there is no much to import for now.
* interp/define.boot (getOperationAlist): Get the isFunctor
property directly.
(addDomain): Call isDomainForm.
|
|
|
|
dbConstructorModemap before compiling functor body.
|