Age | Commit message (Collapse) | Author | Files | Lines |
|
* interp/compiler.boot (bindPredicateExistentials): Rename from
constructorCondition. Now return a substitution on success,
otherwise failure.
(solveEquation): New.
(solveSubsumption): Likewise.
(deduceImplicitParameters): Likewise.
(evaluateConstructorModemap): Use it. Tidy.
|
|
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.
|
|
|
|
substituteInfoFunctorModemap.
(constructorCondition): New.
* interp/define.boot (compDefineCategory2): Compute dual signature
early on.
(compDefineFunctor1): Likewise.
(typingKind): New.
(deduceImplicitParameters): Use it.
* interp/database.boot (modemapsFromCategory): Take a first
argument as a DB. Tidy. Adjust caller. Add constructor condition.
(modemapsFromFunctor): Likewise. Lose last argument.
(mkDatabasePred): Remove.
(formal2Pattern): Likewise.
|
|
early on.
(compDefineFunctor1): Likewise.
* interp/database.boot (modemapsFromCategory): Take a first
argument as a DB. Tidy. Adjust caller.
(modemapsFromFunctor): Likewise. Lose last argument.
(mkDatabasePred): Remove.
(formal2Pattern): Likewise.
|
|
early on.
* interp/database.boot (modemapsFromCategory): Take a first
argument as a DB. Tidy. Adjust caller.
|
|
* 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.
|
|
(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.
|
|
Adjust callers.
(NRTdescendCodeTran): Likewise.
* interp/define.boot (makeDomainTemplate): Lose second argument.
Adjust callers.
(NRTgetLookupFunction): Take a DB as first argument. Adjust callers.
(NRTextendsCategory1): Likewise.
(extendsCategory): Likewise.
(compDefineFunctor1): Do not find $template. Set dbTemplate.
|
|
(compSignature): Take a fourth parameter.
(compCategoryItem): Take two more parameters.
(compCategory): Create references to signature and attribute lists
and pass them to callees.
|
|
Set dbPredicates.
(compConLib1): Set dbPredicates to nil.
(compDefineLisplib): Likewise.
(finalizeLisplib): Write dbPredicates.
* boot/tokens.boot (copyTree): Do not translate.
* boot/utility.boot (topyTree): Implement. Export.
|
|
it to callees. Adjust caller.
* interp/database.boot (getConstructorPredicates): If contructor
is being defined, return the predicates as currently known.
* interp/daase.lisp (INITIAL-GETDATABASE): Remove
(fillDatabasesInCore): Adjust.
|
|
|
|
* interp/daase.lisp (DATABSE): Add new field TEMPLATE.
(dbTemplate): New macro accessor.
* interp/clam.boot (clearCategoryCaches): Clear dbTemplate.
* interp/define.boot (DomainSubstitutionFunction): Generate code
to access or set dbTemplate.
|
|
(dbCapsuleDefinitions): New macro accessor.
* interp/functor.boot (encodeFunctionName): Set it.
* interp/lisplib.boot ($lisplibVariableAlist): Remove.
($lisplibSignatureAlist): Likewise.
(writeCapsuleLevelDefinitions): New.
(finalizeLisplib): Use it.
(mergeSignatureAndLocalVarAlists): Remove.
* interp/clam.boot (clearCategoryCaches): Use mkDomainCatName.
* interp/define.boot (DomainSubstitutionFunction): Likewise.
|
|
(interactiveModemapForm): Likewise.
(getDCFromSystemModemap): Likewise.
(getDomainFromMm): Likewise.
(getAllModemapsFromDatabase): Likewise.
(getModemapsFromDatabase): Likewise.
(getSystemModemaps): Likewise.
(getInCoreModemaps): Likewise.
(flattenSignatureList): Likewise.
|
|
(compDefineCategory1): Adjust.
(compDefineCategory2): Likewise.
(compDefineCategory): Likewise.
(compDefineFunctor1): Likewise.
* interp/lisplib.boot (finalizeLisplib): Likewise.
* interp/br-data.boot (getParentsFor): Lose last paramater.
|
|
* interp/lisplib.boot (compileConstructorLib): Do not bind
$lisplibModemapAlist.
(compDefineLisplib): Likewise.
* interp/database.boot (modemapsFromCategory): Rename from
augLisplibModmapsFromCategory. Tidy. Avoid use of special
variable $lisplibModemapAlist.
(modemapsFromFunctor): Rename from augmentLisplibFromFunctor.
Tidy. Avoid use of special variable $lisplibModemapAlist.
* interp/define.boot (compDefineCategory2): Adjust.
(compDefineFunctor1): 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.
|
|
|
|
* interp/parse.boot (transCategoryItem): Remove as dead code.
* interp/lisplib.boot (finalizeLisplib): Remove use of removeZeroOne.
* interp/cattable.boot (categoryParts): Tidy.
|
|
changed at some point in time.
* lisp/core.lisp.in (AxiomCore) [CCL]: Import and export
FFI-related symbols.
|
|
and "setelt" modemaps.
|
|
from Rep to P. Addd capsule-level definition for Rep.
[setPoly]: Adjust parameter type.
[coerce]: Likewise.
[UnVectorise]: Restrict reduction to %, then coerce to Rep.
[monomial]: Add appropriate coercion to Rep.
|
|
variable j.
* algebra/patmatch1.spad.pamphlet (PatternMatchTools): Tidy.
* algebra/padic.spad.pamphlet: Restrict type of literal constants.
* algebra/sttf.spad.pamphlet: Likewise.
* algebra/puiseux.spad.pamphlet: Likewise.
* algebra/odealg.spad.pamphlet (SystemODESolver) [applyLodo0]:
Specify type of local variable ans.
* algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions): Tidy.
* algebra/naalgc.spad.pamphlet (MonadWithUnit) [rightPower]:
Specify type of local variable res.
[leftPower]: Likewise.
* algebra/lodop.spad.pamphlet (NonCommutativeOperatorDivision)
[leftLcm]: Specify type of local variable v.
* algebra/intfact.spad.pamphlet (IntegerRoots) [approxSqrt]:
Specify type of local variables old and new.
* algebra/elfuts.spad.pamphlet
(EllipticFunctionsUnivariateTaylorSeries): Restrict types of
literal constants.
* algebra/ffnb.spad.pamphlet
(FiniteFieldNormalBasisExtensionByPolynomial): Likewise.
* algebra/fnla.spad.pamphlet (FreeNilpotentLie): Likewise.
* algebra/intaux.spad.pamphlet (IntegrationResult): Likewise.
* algebra/defintef.spad.pamphlet
(ElementaryFunctionDefiniteIntegration) [checkSMP]: Specify type
in the definition of local variable n.
* algebra/combinat.spad.pamphlet (IntegerCombinatoricFunctions):
Tidy definition of local variables.
* algebra/clifford.spad.pamphlet (CliffordAlgebra): Specify type in
the definition of local variables k, exchanges, bz.
* algebra/catdef.spad.pamphlet (CartesianTensor): Specify type in the
definition of local varibles rx and offz.
Remove useless variables zol, xol, oly, and zoly.
|
|
elaboration of all arguments fails.
|
|
(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.
|
|
mapTarget, mapSource, mapKind.
* algebra/data.spad.pamphlet (SystemInteger) [min, max]: Disambiguate
with explicit type annotation.
(SystemNonNetativeInteger) [min, max]: Likewise.
* algebra/color.spad.pamphlet (Color) [sample]: Remove parenthesis.
* algebra/ffnb.spad.pamphlet
(FiniteFieldNormalBasisExtensionByPolynomial) [sizeOfGroundField]:
Likewise.
* algebra/matrix.spad.pamphlet (SquareMatrix) [dimension]: Likewise.
* algebra/view3D.spad.pamphlet: Likewise.
* algebra/viewDef.spad.pamphlet: Likewise.
* algebra/regset.spad.pamphlet (RegularTriangularSetCategory)
[unitIdealIfCan]: Remove, was useless.
* algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet)
[unitIdealIfCan]: Likewise.
* algebra/triset.spad.pamphlet (GeneralTriangularSet)
[unitIdealIfCan]: Likewise.
|
|
definition, as it is not exported.
|
|
* boot/utility.boot (firstNonblankPosition): Do not declare.
|
|
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.
|
|
Boolean operators in terms of Logic operators.
(PropositionalFormula): Implement Logic operators instead of
Boolean operators.
* algebra/exposed.lsp.pamphlet: Expose
PropositionalFormulaFunctions1 and PropositionalFormulaFunctions2.
|
|
* 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.
|
|
[setelt]: Likewise.
* algebra/lodof.spad.pamphlet: Adjust use.
* algebra/float.spad.pamphlet: Likewise.
* algebra/divisor.spad.pamphlet: Likewise.
* algebra/curve.spad.pamphlet: Likewise.
* algebra/card.spad.pamphlet: Likewise.
* algebra/algext.spad.pamphlet: Likewise.
* algebra/op.spad.pamphlet: Likewise.
* algebra/suls.spad.pamphlet: Likewise.
* algebra/sups.spad.pamphlet: Likewise.
* algebra/supxs.spad.pamphlet: Likewise.
* algebra/suts.spad.pamphlet: Likewise.
* algebra/symbol.spad.pamphlet: Likewise.
* algebra/view3D.spad.pamphlet: Likewise.
* algebra/viewDef.spad.pamphlet: 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.
|