aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2011-10-24 * interp/compiler.boot (compOrCroak1): Drop last argument. Tidy.dos-reis3-17/+45
(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.
2011-10-23 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fdecode.dos-reis2-1/+5
* 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.
2011-10-23 * interp/compiler.boot (compForm2): Simplify. Don't bother withdos-reis1-19/+2
subsumption. Exit early on empty modemap candidate list.
2011-10-23 * interp/compiler.boot (compAtomWithModemap): Handle code-gen here.dos-reis1-5/+14
2011-10-22 * interp/br-op2.boot (htSayExplicitExports): Don't forget possibledos-reis6-15/+24
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.
2011-10-21 * interp/define.boot (compDefineCapsuleFunction): Reimplementdos-reis1-20/+14
signature inference. (hasSigInTargetCategory): Implement what the documentation says: infer the signature from the target category, not local declaration.
2011-10-20 * interp/define.boot (checkRepresentation): Prepare for generaldos-reis1-22/+33
constant definition syntax. (compDefine1): Likewise. (compDefineCategory1): Likewise. (compDefineFunctor1): Likewise. (compDefineCapsuleFunction): Likewise. (doIt): Likewise. (isMacro): Tidy.
2011-10-20 * interp/lisplib.boot (isDomainForm): Handle conditionals.dos-reis1-1/+1
2011-10-19 * interp/postpar.boot (postDef): Do not include list of nil formsdos-reis3-28/+19
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.
2011-10-19 * interp/postpar.boot (postNormalizeName): New.dos-reis4-25/+35
(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.
2011-10-19 * interp/property.lisp: Move output-related content to i-output.boo.dos-reis4-130/+71
Remove.
2011-10-19misc cleanupdos-reis3-3/+3
2011-10-18 * interp/postpar.boot (displayPreCompilationErrors): Dot not checkdos-reis11-81/+38
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-18 * interp/spad-parser.boot (parseSegmentTail): Tidy.dos-reis7-44/+14
* 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.
2011-10-17 * lisp/core.lisp.in: Add ref and deref to support references.dos-reis12-774/+646
* 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.
2011-10-12 * interp/spad-parser.spad: New parsing functions.dos-reis4-71/+55
* 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.
2011-10-12 * interp/lexing.boot (matchAdvanceKeyword): New.dos-reis6-139/+126
* 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.
2011-10-11 * interp/lexing.boot (matchAdvanceString): New.dos-reis4-164/+87
* 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.
2011-10-11 * interp/lexing.boot (matchString): New.dos-reis3-14/+18
* interp/fnewmeta.lisp: Use it. * interp/parsing.lisp: Likewise. (MATCH-STRING): Remove.
2011-10-11 * interp/metalex.lisp (DEFUN-PARSE-TOKEN): Remove.dos-reis5-327/+222
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.
2011-10-11 * interp/postpar.boot: Remove functions and references to Scripts.dos-reis1-41/+0
2011-10-09 * interp/lexing.boot: New tokenizer functions.dos-reis4-113/+83
* interp/parsing.lisp: Use them. * interp/metalex.lisp: Likewise. (GET-SPECIAL-TOKEN): Remove. * interp/bootlex.lisp: Likewise. Remove old tokenizers,
2011-10-07 * interp/lexing.boot: Include sys-macros.dos-reis7-409/+253
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.
2011-10-04 * interp/lexing.boot: Add support for Token abstract datatype.dos-reis5-208/+224
* interp/bootlex.lisp: Use it. * interp/fnewmeta.lisp: Likewise. * interp/metalex.lisp: Likewise. Remove old token structure and associated functions.
2011-10-04 * interp/lexing.boot (stackClear!): Fix typo.dos-reis7-278/+270
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.
2011-10-04 * interp/lexing.boot: New.dos-reis4-68/+118
* interp/metalex.lisp: Include it. Use new stack datatype support. * interp/parsing.lisp: Use new stack datatype support. * interp/Makefile.in: Adjust.
2011-10-04 * boot/utility.boot (symbolAssoc): Rename from assocSymbol. Export.dos-reis28-138/+96
* 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-03do removedos-reis1-0/+0
2011-10-03 * interp/comp.lisp: Remove.dos-reis15-272/+31
* 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-reis25-82/+78
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis34-187/+130
* 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/parser.boot (bpImport): Accept long names for used namespaces.dos-reis1-1/+2
* boot/translator.boot (packageBody): Tidy. (translateToplevel): Likewise. (getIntermediateLispFile): Likewise. * interp/sys-os.boot: Import System.Foreign.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis19-104/+35
(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-30 * interp/br-data.boot (lefts): Iterate directly over table.dos-reis10-56/+49
(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.
2011-09-12 * interp/g-opt.boot (optList): Tidy.dos-reis1-1/+3
2011-09-11 * interp/compiler.boot (finishLambdaExpression): Tidy.dos-reis3-3/+8
(extractCodeAndConstructTriple): Likewise. * interp/g-opt.boot (optCall): Likewise. ($VMsideEffectFreeOperators): Include %function * interp/lisp-backend.boot: Translate %function.
2011-09-11 * interp/lisplib.boot (isFunctor): Noe recognize Mapping as a functor.dos-reis5-105/+45
* 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.
2011-09-10 * interp/g-opt.boot (doInlineCall): Tidy.dos-reis1-4/+4
(canInlineVarDefinition): Likewise.
2011-09-10 * interp/macros.lisp (COERCE-FAILURE-MSG): Remove.dos-reis5-70/+50
(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.
2011-09-10 * interp/g-opt.boot (doInlineCall): New.dos-reis1-6/+43
(optCall): Use it to implement inline functions. ($VMsideEffectFreeOperators): Include %apply and STRINGIMAGE. ($simpleVMoperators): STRINGIMAGE is promoted. (canInlineVarDefinition): Tidy. (optBind): Likewise.
2011-09-09 * interp/g-opt.boot (optXLAMCond): Remove as useless.dos-reis1-17/+1
(optCONDtail): Likewise.
2011-09-09 * interp/g-opt.boot (optIadd): Remork.dos-reis1-5/+50
(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.
2011-09-08 * interp/c-util.boot (builtinCategoryName?): Move to g-util.boot.dos-reis2-37/+40
(builtinFunctorName?): Likewise. (builtinConstructor?): Likewise. (superType): Exit early if builtin functor or non-domain form. * algebra/Makefile.in: Flesh out bootstrap dependencies.
2011-09-08 * interp/sys-globals.boot ($clamList): Do not include hasFileProperty.dos-reis5-77/+5
* 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.
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis21-56/+49
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-reis5-9/+17
* 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-reis2-4/+7
with current instantiation. * interp/c-util.boot (isSubset): Accept values of current instantiation as values of the current domain.
2011-09-07 * interp/compiler.boot (compImport): Don't do anything ifdos-reis2-3/+5
bootstrapping: there is no much to import for now. * interp/define.boot (getOperationAlist): Get the isFunctor property directly. (addDomain): Call isDomainForm.
2011-09-06 * interp/lisplib.boot (isFunctor): Tidy.dos-reis1-2/+4
2011-09-06 * interp/define.boot (compDefineFunctor1): Setdos-reis1-3/+5
dbConstructorModemap before compiling functor body.