aboutsummaryrefslogtreecommitdiff
path: root/src/share/algebra/interp.daase
AgeCommit message (Collapse)AuthorFilesLines
2013-05-07Tidy indexed direct product domainsdos-reis1-14/+14
2013-05-07 * algebra/indexedp.spad.pamphlet (IndexedProductTerm): New domain.dos-reis1-3947/+3950
2012-02-25 * algebra/catdef.spad.pamphlet (BinaryOperatorCategory): New.dos-reis1-4003/+4032
(BinaryOperation): Likewise. (IdempotentOperatorCategory): Likewise. (SemiGroupOperatorCategory): Likewise. (SemiGroupOperation): Likewise. (MonoidOperatorCategory): Likewise. (MonoidOperation): Likewise. * algebra/exposed.lsp.pamphlet: Expose them. * algebra/Makefile.in (oa_algebra_layer_0): Include IDEMOPC, SGPOPC, SPGOP, MONOPC, BINOPC. (axiom_algebra_layer_1): Include MONOP.
2012-02-19 * interp/br-data.boot (libConstructorSig): Rename T$ to T fordos-reis1-1/+1
external name printing. Do not call ncParseFromString.
2012-02-15 * algebra/catdef.spad.pamphlet (Ring): Extends SemiRing.dos-reis1-3948/+3954
(Dioid): New. Extend OrderedAbelianMonoid and SemiRing. * algebra/exposed.lsp.pamphlet: Expose Dioid.
2012-02-07 * interp/lisplib.boot (dbLocateModule): New.dos-reis1-3918/+3933
(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).
2012-02-03 * config/open-axiom.m4 (OPENAXIOM_ALIGNAS_SPECIFIER): New.dos-reis1-3922/+3919
(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.
2012-01-14 * algebra/catdef.spad.pamphlet (Finite) [random]: Provide defaultdos-reis1-3926/+3917
implementation. * algebra/boolean.spad.pamphlet (KleeneTrivalentLogic): Now satisfy Finite. Use Maybe Boolean as representation.
2011-10-26 * interp/postpar.boot (postSignature): Tidy.dos-reis1-71/+71
* interp/parse.boot (transCategoryItem): Remove as dead code. * interp/lisplib.boot (finalizeLisplib): Remove use of removeZeroOne. * interp/cattable.boot (categoryParts): Tidy.
2011-10-23 * interp/compiler.boot (compAtomWithModemap): Handle code-gen here.dos-reis1-49/+49
2011-10-22 * interp/br-op2.boot (htSayExplicitExports): Don't forget possibledos-reis1-32/+32
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-1/+1
signature inference. (hasSigInTargetCategory): Implement what the documentation says: infer the signature from the target category, not local declaration.
2011-10-19 * interp/postpar.boot (postNormalizeName): New.dos-reis1-2/+2
(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-18 * interp/postpar.boot (displayPreCompilationErrors): Dot not checkdos-reis1-2/+2
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-16 * algebra/boolean.spad.pamphlet (Boolean): Implement defaultdos-reis1-5/+5
Boolean operators in terms of Logic operators. (PropositionalFormula): Implement Logic operators instead of Boolean operators. * algebra/exposed.lsp.pamphlet: Expose PropositionalFormulaFunctions1 and PropositionalFormulaFunctions2.
2011-10-12 * algebra/boolean.spad.pamphlet (Reference) [elt]: Remove.dos-reis1-585/+585
[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.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-17/+17
(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-20 * algebra/annacat.spad.pamphlet: Remove.dos-reis1-4136/+3997
* 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.
2011-09-20 * algebra/asp.spad.pamphlet: Remove.dos-reis1-4375/+4138
* 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.
2011-09-15 * algebra/alql.spad.pamphlet (IndexCard): Now satisfiesdos-reis1-14/+14
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.
2011-09-10 Remove IndexedList.dos-reis1-4289/+4286
* algebra/list.spad.pamphlet (IndexedList): Fold definition into List. Remove. * algebra/exposed.lsp.pamphlet: Don't expose ILIST. * algebra/Makefile.in: Adjust.
2011-09-09 * interp/g-opt.boot (optIadd): Remork.dos-reis1-4278/+4275
(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-09 * algebra/syntax.spad.pamphlet (Identifier): Removedos-reis1-6/+6
CoercibleTo Symbol and CoercibleTo String properties. * algebra/symbol.spad.pamphlet (Symbol): Make RetractableTo Identifier.
2011-09-09 * algebra/op.spad.pamphlet (BasicOperator): Use string$Stringdos-reis1-3/+3
instead of coercion from Identifier to String.
2011-09-09 * algebra/string.spad.pamphlet (String) [string]: New overload todos-reis1-5/+5
convert from Identifier.
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-2/+2
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-1/+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-4/+4
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-reis1-7/+7
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/define.boot: Use DB for current constructor.dos-reis1-129/+129
(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.
2011-09-05 * interp/nruncomp.boot (updateSlot1DataBase)e: Remove.dos-reis1-1/+1
(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.
2011-09-05 * interp/lisplib.boot (writeCategory): New,dos-reis1-2851/+1785
(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.
2011-08-28 * interp/lisplib.boot (writeInstanceCache): Remove.dos-reis1-1/+1
(finalizeLisplib): Don't call it.
2011-08-25 * interp/hashcode.boot: Remove.dos-reis1-1/+1
*interp/interop.boot: Move OpenAxiom relevant code to define.boot and nrunfast.boot. Remove.
2011-08-25 * interp/daase.lisp (dbArity, dbInstanceCache): New accessors.dos-reis1-1/+1
* interp/database.boot (loadDBIfnecessary): New. (dbMutable?): Likewise. * interp/lisplib.boot (finalizeLisplib): Record mutable property.
2011-08-22 * interp/daase.lisp: Remove NILADIC field from DATABASE structure.dos-reis1-1750/+1750
(dbNiladic?): Remove. Adjust users. (WRITE-INTERP): Don't write NILADIC field.
2011-08-21 * interp/lisplib.boot (leaveIfErrors): Take kind as argument.dos-reis1-2/+2
(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.
2011-08-20 * interp/sys-utility.boot (constructorDB): New.dos-reis1-1/+1
* 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.
2011-08-18 * interp/momdemap.boot: Fold content into compiler.boot anddos-reis1-1/+1
define.boot. Remove. * Makefile.in: Adjust dependencies.
2011-08-14 * interp/compiler.boot (compRepeatOrCollect): Set $loopKind directly.dos-reis1-2/+2
(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.
2011-08-13 * algebra/integer.spad.pamphlet (Integer): Remove attribute infinite.dos-reis1-4/+4
2011-08-12 * interp/define.boot (NRTgetLookupFunction): Handle the case wheredos-reis1-1/+1
the base domain is a parameter. * interp/g-util.boot (formalVarNumber): New. * lisp/core.lisp.in (readIntegerIfCan): Likewise.
2011-08-11 * interp/define.boot (extendsCategoryBasic): Handle attributedos-reis1-1/+1
third argument too.
2011-08-10 * algebra/float.spad.pamphlet (Float): Tidy.dos-reis1-6/+6
* 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.
2011-08-10 * algebra/Makefile.in (oa_strap_0_sources): Don't include OM.dos-reis1-5190/+5158
(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.
2011-08-10 * interp/setvart.boot: Remoe OpenMath description.dos-reis1-5195/+5191
* 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.
2011-08-05 * algebra/boolean.spad.pamphlet (Boolean) [test]: Remove.dos-reis1-4617/+4617
2011-07-04 * interp/setvars.boot: Remove support for script formula.dos-reis1-5359/+5351
* 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.
2011-06-26 * algebra/sf.spad.pamphlet (DoubleFloat) [nan?]: New export.dos-reis1-4621/+4621
* algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it instead of %fNan?. * algebra/plot.spad.pamphlet (Plot): Likewise.
2011-05-29 * lisp/core.lisp.in (readExpr): New.dos-reis1-4571/+4571
* 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.