Age | Commit message (Collapse) | Author | Files | Lines |
|
(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).
|
|
(OPENAXIOM_CHECK_MISC): Use it.
src/
* utils/vm.H: Add more VM data structures.
* utils/vm.cc (BasicContext::make_operator): Define.
* algebra/Makefile.in (SPADFILES): Include syntax.spad and
spad-parser.spad.
|
|
implementation.
* algebra/boolean.spad.pamphlet (KleeneTrivalentLogic): Now
satisfy Finite. Use Maybe Boolean as representation.
|
|
* interp/parse.boot (transCategoryItem): Remove as dead code.
* interp/lisplib.boot (finalizeLisplib): Remove use of removeZeroOne.
* interp/cattable.boot (categoryParts): Tidy.
|
|
|
|
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.
|
|
(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.
|
|
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.
|
|
Boolean operators in terms of Logic operators.
(PropositionalFormula): Implement Logic operators instead of
Boolean operators.
* algebra/exposed.lsp.pamphlet: Expose
PropositionalFormulaFunctions1 and PropositionalFormulaFunctions2.
|
|
[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.
|
|
(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.
|
|
* algebra/routines.spad.pamphlet: Likewise.
* algebra/functions.spad.pamphlet: Likewise.
* algebra/tools.spad.pamphlet: Likewise.
* algebra/cont.spad.pamphlet: Likewise.
* algebra/fortran.spad.pamphlet: Likewise.
* algebra/fortmac.spad.pamphlet: Likewise.
* algebra/fortpak.spad.pamphlet: Likewise.
|
|
* algebra/c02.spad.pamphlet: Likewise.
* algebra/c05.spad.pamphlet: Likewise.
* algebra/c06.spad.pamphlet: Likewise.
* algebra/d01.spad.pamphlet: Likewise.
* algebra/d02.spad.pamphlet: Likewise.
* algebra/d03.spad.pamphlet: Likewise.
* algebra/e01.spad.pamphlet: Likewise.
* algebra/e02.spad.pamphlet: Likewise.
* algebra/e04.spad.pamphlet: Likewise.
* algebra/f01.spad.pamphlet: Likewise.
* algebra/f02.spad.pamphlet: Likewise.
* algebra/f04.spad.pamphlet: Likewise.
* algebra/f07.spad.pamphlet: Likewise.
* algebra/s.spad.pamphlet: Likewise.
* algebra/d01Package.spad.pamphlet: Likewise.
* algebra/d02Package.spad.pamphlet: Likewise.
* algebra/d03Package.spad.pamphlet: Likewise.
* algebra/e04Package.spad.pamphlet: Likewise.
* algebra/d01agents.spad.pamphlet: Likewise.
* algebra/d01routine.spad.pamphlet: Likewise.
* algebra/d01transform.spad.pamphlet: Likewise.
* algebra/d01weights.spad.pamphlet: Likewise.
* algebra/d02agents.spad.pamphlet: Likewise.
* algebra/d02routine.spad.pamphlet: Likewise.
* algebra/d03agents.spad.pamphlet: Likewise.
* algebra/d03routine.spad.pamphlet: Likewise.
* algebra/e04agents.spad.pamphlet: Likewise.
* algebra/e04routine.spad.pamphlet: Likewise.
|
|
CoercibleFrom String. Remove explicit coerce export.
* algebra/carten.spad.pamphlet (CartesianTensor): Remove explicit
coerce export. Add satisfaction of CoercibleFrom appropriate
domains.
* algebra/color.spad.pamphlet (Palette): Relace explicit coerce
export with CoercibleTo %.
* algebra/constant.spad.pamphlet (InnerAlgebraicNumber): Likewise.
* algebra/dpolcat.spad.pamphlet (DifferentialVariableCategory):
Likewise.
|
|
* algebra/list.spad.pamphlet (IndexedList): Fold definition into
List. Remove.
* algebra/exposed.lsp.pamphlet: Don't expose ILIST.
* algebra/Makefile.in: Adjust.
|
|
(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.
|
|
CoercibleTo Symbol and CoercibleTo String properties.
* algebra/symbol.spad.pamphlet (Symbol): Make RetractableTo Identifier.
|
|
instead of coercion from Identifier to String.
|
|
convert from Identifier.
|
|
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.
|
|
(mkCategoryPackage): Category defaults are packages, not domains.
* interp/functor.boot (encodeFunctionName): Use current
constructor DB. First argument is now a DB. Adjust caller.
* algebra/domain.spad.pamphlet (DomainConstructo) [functorData]:
Use getInfovec.
|
|
(newLookupInCategories1): Remove.
(newLookupInCategories): Do not call it.
* interp/define.boot ($isOpPackageName): Remove.
(compDefinFunctor1): Do not emit slot1 database info for category
defaulta.
($lisplibSlot1): Remove.
* interp/lisplib.boot: Likewise.
(finalizeLisplib): Do not write slot1 info.
|
|
(finalizeLisplib): Use it. Write category bodies in generated
Lisp code file.
* interp/daase.lisp (GETDATABASE) [CONSTRUCTORCATEGORY]: Don't
bother with package and domain constructors.
* interp/database.boot (getConstructorCategory): Rename from
getConstructorCategoryFromDB. Reimplement, Adjusr callers.
|
|
(finalizeLisplib): Don't call it.
|
|
*interp/interop.boot: Move OpenAxiom relevant code to define.boot
and nrunfast.boot. Remove.
|
|
* interp/database.boot (loadDBIfnecessary): New.
(dbMutable?): Likewise.
* interp/lisplib.boot (finalizeLisplib): Record mutable property.
|
|
(dbNiladic?): Remove. Adjust users.
(WRITE-INTERP): Don't write NILADIC field.
|
|
(writeInfo): New.
(writeSuperDomain): Likewise.
(finalizeLisplib): Use it. Take constructor as argument.
* interp/define.boot ($lisplibSuperDomain): Remove. Adjust users.
($lisplibKind): Remove Adjust users.
(emitSubdomainInfo): Set dbSuperDomain.
(incompleteFunctorBody): Likewise.
* interp/daase.lisp: Add new database accessors.
(GETDATABASE): Fix handling of superDomain property.
* interp/br-util.boot (dbConstructorKind): Remove.
* interp/br-con.boot: Remove deadcode.
(dbShowCons1): Adjust.
* interp/br-saturn.boot (dbShowConsKinds): Likewise.
|
|
* interp/daase.lisp (dbNiladic?): New. Use it to access niladic
property. of a constructor.
* interp/database.boot: Import daase.
(niladicContructorFromDB): Use it.
* interp/define.boot (compDefineCategory): Don't write
compilerInfo garbage.
(compDefineFunctor1): Likewise.
(compDefineCategory2): Set niladic property.
(compDefineFunctor): Likewise.
* interp/lisplib.boot (loadLib): Do not set niladic property. It
is now a side-effect of loading.
(loadLibNoUpdate): Do not check for version.
(makeConstructorAutoload): Do not set niladic property.
(initializeLisplib): Do not emit code to check version.
(mkCtorDBForm): New.
(writeNiladic?): Likewise.
(finalizeLisplib): Do not set niladic property.
* interp/patches.lisp: Remove deadcode.
* interp/sys-constants.boot (MAJOR-VERSION): Remove.
|
|
define.boot. Remove.
* Makefile.in: Adjust dependencies.
|
|
(complainIfShadowing): Don't complain when collecting.
* algebra/contfrac.spad.pamphlet: Remove capsule-level declaration
of local variables.
* algebra/cycles.spad.pamphlet: Likewise.
* algebra/cyclotom.spad.pamphlet: Likewise.
* algebra/ddfact.spad.pamphlet: Likewise.
* algebra/fortpak.spad.pamphlet: Likewise.
* algebra/lingrob.spad.pamphlet: Likewise.
* algebra/numode.spad.pamphlet: Likewise.
* algebra/numquad.spad.pamphlet: Likewise.
* algebra/out.spad.pamphlet: Likewise.
* algebra/perman.spad.pamphlet: Likewise.
* algebra/view2D.spad.pamphlet: Likewise.
|
|
|
|
the base domain is a parameter.
* interp/g-util.boot (formalVarNumber): New.
* lisp/core.lisp.in (readIntegerIfCan): Likewise.
|
|
third argument too.
|
|
* algebra/fortmac.spad.pamphlet (MachineInteger): Likewise.
* algebra/fspace.spad.pamphlet (FunctionSpace): Likewise.
* algebra/integer.spad.pamphlet (Integer): Likewise.
* algebra/mkfunc.spad.pamphlet (InputForm): Likewise.
* algebra/newpoly.spad.pamphlet (RecursivePolynomialCategory):
Likewise.
* input/knot.input.pamphlet: Likewise.
* input/knot2.input.pamphlet: Likewise.
* input/mult3d.input.pamphlet: Likewise.
* input/multKnot.input.pamphlet: Likewise.
* input/r21bugsbig.input.pamphlet: Likewise.
* input/tutchap2.input.pamphlet: Likewise.
|
|
(axiom_algebra_layer_0): Don't include OM, OMCONN, OMDEV.
(axiom_algebra_layer_4): Don't include OMENC.
(axiom_algebra_layer_14): Don't include OMPKG.
(axiom_algebra_layer_19): Don't include OMERR, OMERRK.
(axiom_algebra_layer_20): Don't include OMEXPR.
* algebra/omcat.spad.pamphlet: Remove.
* algebra/omdev.spad.pamphlet: Remove.
* algebra/omerror.spad.pamphlet: Remove.
* algebra/omserver.spad.pamphlet: Remove.
* algebra/openmath.spad.pamphlet: Remove.
|
|
* interp/setvars.boot (setOutputOpenMath): Remove.
(describeOutputOpenMath): Likewise.
* algebra/Makefile.in (axiom_algebra_layer_14): Don't include OMSERVER.
* algebra/float.spad.pamphlet (Float): Remove OpenMath exports.
* algebra/fraction.spad.pamphlet (Fraction): Likewise.
* algebra/gaussian.spad.pamphlet (Complex): Likewise.
* algebra/integer.spad.pamphlet (Integer): Likewise.
* algebra/list.spad.pamphlet (List): Likewise.
* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/string.spad.pamphlet (String): Likewise.
* algebra/symbol.spad.pamphlet (Symbol): Likewise.
|
|
|
|
* interp/setvart.boot: Likewise.
* interp/diagnostics.boot (sayBrightlyNT1): Move from macros.lisp.
(sayBrightly1): Likewise.
(sayBrightlyNT): Likewise.
(sayBrightly): Likewise.
(sayBrightlyI): Likewise.
(sayMSG): Likewise.
(sayTeX): Likewise.
(sayMSG2File): Likewise.
* interp/i-output.boot (formulaFormat): Remove.
(output): Adjust.
* interp/macros.lisp (sayMSGNT): Remove.
(sayFORTRAN): Likewise.
(sayFORMULA): Likewise.
($formulaOutputstream): Likewise.
* interp/sys-globals.boot ($formulaOutputstream): Remove.
* interp/spad.lisp ($formulaFormat): Remove.
* algebra/exposed.lsp.pamphlet: Do not expose ScriptFormulaFormat
and ScriptFormulaFormat1.
* algebra/exposed.lsp.pamphlet: Remove.
|
|
* algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it
instead of %fNan?.
* algebra/plot.spad.pamphlet (Plot): Likewise.
|
|
* interp/as.boot: Replace READLINE with readLine.
* interp/br-data.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/g-error.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/server.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/compat.boot (READLINE): Remove.
* interp/sys-macros.lisp (shoeConsole): Remove.
(shoeInputFile): Likewise.
(shoeread-line): Likewise.
* boot/ast.boot (bfQ): %nothing only needs EQ.
* algebra/files.spad.pamphlet (File) [read!, readIfCan!]: Use
readExpr instead of VMREAD. Avoid PLACEP
(TextFile) [readLine!, readLineIfCan!]: Likewise.
|
|
for element types of Vector or List aggregates.
* algebrar/: Adjust algebras that depended on this behaviour.
|
|
Move to StreamAggregate.
* algebra/array2.spad.pamphlet (TwoDimensionalArrayCategory):
Don't implement them.
* algebra/tree.spad.pamphlet (Tree): Likewise.
|
|
|
|
Maybe (List O -> O) value.
[input]: Now return a Maybe(List SEX -> SEX).
* algebra/kl.spad.pamphlet (Kernel): Adjust.
* algebra/pattern.spad.pamphlet (Pattern): Likewise.
|
|
%bytevec2str and %str2bytevec opcode.
* interp/lisp-backend.boot: Expand them.
* algebra/data.spad.pamphlet (ByteBuffer): Tidy.
|