aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2008-10-05 * interp/c-util.boot (isAtomicForm): New.dos-reis3-23/+26
(replaceSimpleFunctions): Use it. Simplify back to original implementation. (proclaimCapsuleFunction): Constructor parameters are generic. * interp/sys-utility.boot (getVMType): Handle wildcard. * algebra/stream.spad.pamphlet: Don't build STREAM with proclamation on -- it currently violates type rules.
2008-10-04 * algebra/data.spad.pamphlet (sample$Byte): New.dos-reis1-1/+1
2008-10-04 * interp/c-util.boot (eqSubstAndCopy): New.dos-reis3-8/+22
(eqSubst): Likewise. (replaceSimpleFunctions): Handle XLAM-replaceable functions. * interp/wi1.boot (pairList): Remove duplicate.
2008-10-04 * interp/c-util.boot (clearReplacement): New.dos-reis2-1/+50
(getFunctionReplacement): Likewise. (replaceSimpleFunctions): Likewise. * interp/define.boot (spadCompileOrSetq): Use it.
2008-10-02 * interp/i-spec1.boot (upcase): Tidy.dos-reis3-11/+12
* interp/i-spec2.boot (evalIsntPredicate): Likewise. * interp/sys-utility.boot (existingFile?): Likewise.
2008-10-01 * algebra/mkfunc.spad.pamphlet (InputForm): Remove local mkProperOp.dos-reis1-0/+9
(compile$InputForm): Tidy. * algebra/boolean.spad.pamphlet (setelt$IndexedBits): A bit is not a Boolean. * interp/i-intern.boot (mkAtreeForToken): New.
2008-10-01 * interp/c-util.boot ($optProclaim): New.dos-reis6-2/+84
($optReplaceSimpleFunctions): Likewise. (setCompilerOptimizations): Likewise. Set them. (proclaimCapsuleFunction): New. * interp/compiler.boot (compileSpad2Cmd): Handle option ')optimize'. * interp/define.boot (compile): Proclaim if appropriate. * interp/sys-driver.boot (compileSpadLibrary): Honor optimization level set on commmand line. * interp/sys-utility.boot (getVMType): Tidy. * interp/types.boot (%Void): Likewise. (IntegerSection): New.
2008-10-01 * interp/i-output.boot: Move dispatch table from property.lisp.dos-reis4-190/+194
* interp/buildom.boot: Likewise. * interp/def.lisp: Likewise.
2008-10-01 * algebra/files.spad.pamphlet (IOMode): New domain.dos-reis1-0/+32
* algebra/net.spad.pamphlet (InputBinaryFile): Likewise. (OutputBinaryFile): Likewise. * interp/sys-utility.boot (openBinaryFile): New. (readByteFromFile): Likewise. (writeByteToFile): Likewise. (closeFile): Likewise.
2008-09-26 * algebra/matrix.spad.pamphlet (new$Matrix): New.dos-reis2-6/+43
Remove uses of pretend. Define Rep.
2008-09-24 * interp/i-analy.boot (putCallInfo): New.dos-reis3-5/+17
(bottomUp): Use it. * interp/i-spec1.boot (upand): Likewise. (upor): Likewise. (upcase): Likewise. * interp/i-spec2.boot (uperror): Likewise.
2008-09-22 * algebra/syntax.spad.pamphlet: Tie the recursive knots betweendos-reis1-0/+1
syntax domains.
2008-09-21Misc cleanup.dos-reis1-0/+1
2008-09-21 * interp/sys-macros.lisp (|byteEqual|): New.dos-reis1-2/+5
* algebra/boolean.spad.pamphlet (PropositionalLogic): Extend SetCategory. (PropositionalFormula): Now unconditional exports coercion to OutputForm. Adjust implementation. (KleeneTrivalentLogic): New. * algebra/data.spad.pamphlet (Byte): Tidy. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Move PROPLOG to layer 1.
2008-09-20 * include/cfuns.h (oa_dirname): Declare.dos-reis18-46/+64
* lib/cfuns-c.c (openaxiom_is_path_separator): New. (oa_dirname): Define. (writeablep): Use it. * algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
2008-09-19 * interp/g-util.boot (getTypeOfSyntax): Infer more syntax domains.dos-reis1-6/+10
* algebra/Makefile.pamphlet: Add dependency rules for syntax domains. * algebra/exposed.lsp.pamphlet: Expose more syntax domains.
2008-09-19 * interp/lisplib.boot (getConstructorSignature): Relax.dos-reis1-4/+4
2008-09-18 * interp/c-util.boot (displayAmbiguousSignatures): New.dos-reis3-5/+17
(ambiguousSignatureError): Likewise. * interp/define.boot (hasSigInTargetCategory): Use it to reject ambiguous lhs of a definition. * interp/lisplib.boot (leaveIfErrors): Fix typo. * algebra/aggcat.spad.pamphlet: Disambiguate definitions. * algebra/card.spad.pamphlet: Likewise. * algebra/dhmatrix.spad.pamphlet: Likewise. * algebra/divisor.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/ffcat.spad.pamphlet: Likewise. * algebra/ffcg.spad.pamphlet: Likewise. * algebra/ffnb.spad.pamphlet: Likewise. * algebra/ffp.spad.pamphlet: Likewise. * algebra/generic.spad.pamphlet: Likewise. * algebra/groebf.spad.pamphlet: Likewise. * algebra/modring.spad.pamphlet: Likewise. * algebra/moebius.spad.pamphlet: Likewise. * algebra/mts.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/ore.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/pf.spad.pamphlet: Likewise. * algebra/poly.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/prtition.spad.pamphlet: Likewise. * algebra/radix.spad.pamphlet: Likewise. * algebra/rep2.spad.pamphlet: Likewise. * algebra/stream.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise. * algebra/tree.spad.pamphlet: Likewise. * algebra/triset.spad.pamphlet: Likewise. * algebra/view2D.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Remove signature for hash. * algebra/si.spad.pamphlet: Likewise.
2008-09-18 * interp/g-util.boot (getTypeOfSyntax): Infer more syntax domains.dos-reis1-0/+10
* algebra/syntax.spad.pamphlet: Add more syntax domains. * algebra/exposed.lsp.pamphlet: Expose more syntax object domains. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add more syntax object files.
2008-09-14 * interp/sys-os.boot (readablep): Import.dos-reis1-4/+18
(writeablep): Document. * algebra/fname.spad.pamphlet (exists?$FileName): Use existingFile? (readable?$FileName): Use readablep. (writeable?$FileName): Use writeable.
2008-09-10 * interp/define.boot (displayMissingFunctions): Fix typo.dos-reis1-1/+1
2008-09-07 * boot/parser.boot (bpImport): Invert syntax for importing foreigndos-reis1-67/+49
functions. * boot/strap/parser.clisp: Update. * interp/sys-os.boot: Change to new syntax throughout.
2008-09-07 Ensure SingleFloat is 32-bit, DoubleFloat 64-bit.dos-reis9-54/+101
* interp/types.boot: Tidy. * interp/sys-constants.boot: Define limits for builtin numeric types. * interp/sys-os.boot: Import sys-constants. * interp/foam_l.lisp: Import sys-constants. Align builtin numeric types with OpenAxiom runtime's. * interp/fortcall.boot: Tidy. * interp/i-output.boot: Likewise. * interp/Makefile.pamphlet (foam_l.$(FASLEXT)): Now require sys-constants.$(FASLEXT). * algebra/si.spad.pamphlet: Use $ShortMinimum and $ShortMaximum for SingleInteger limits. * algebra/sf.spad.pamphlet: Use $DoubleFloatMaximum, $DoubleFloatMinimum for DoubleFloat limits. * algebra/strap: Update cached Lisp translation.
2008-09-06 * interp/sys-os.boot (openIP4ClientStreamSocket): New.dos-reis1-3/+17
(readFromStreamSocket): Likewise. (writeToStreamSocket): Likewise. (closeSocket): Likewise. * include/sockio.h: Include <arpa/inet.h> (oa_open_ip4_client_stream_socket): Declare. (oa_socket_write): Likewise. (oa_socket_read): Likewise. * lib/sockio-c.c (openaxiom_unload_socket_module): New. (openaxiom_load_socket_module): Tidy. (openaxiom_socket_is_invalid): New. (is_invalid_socket): Use it. (oa_open_ip4_client_stream_socket): Define. (oa_socket_read): Likewise. (oa_socket_write): Likewise.
2008-09-05 * interp/daase.lisp (processDir): Lose last argument. Don'tdos-reis2-12/+12
change directory. (localdatabase): Adjust call. * interp/lisplib.boot (getAllIndexPathnames): Take an argument. (getAllAldorObjectFiles): Likewise.
2008-09-05 * interp/g-util.boot (getTypeOfSyntax): Handle more ASTs.dos-reis1-0/+20
* algebra/syntax.spad.pamphlet (SpadSyntaxCategory): Add pretty-printer. (HeadAst): Use Identifier. (TypeAst,MappingAst,ImportAst,SignatureAst,AttributeAst,JoinAst, IfAst,RepeatAst,WhileAst,InAst,CollectAst,ConstructAst, ExitAst,ReturnAst,SequenceAst,LetAst,PretendAst,CoerceAst, RestrictAst,CallAst,SegmentAst): New domains. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add TYPEAST, IMPTAST, MAPPAST, ATTRAST, JOINAST, IFAST, RPTAST WHILEAST, INAST, CLLCAST, LSTAST, EXITAST, RETAST, SEGAST, PRTDAST, CRCAST, LETAST. * share/algebra: Update databases.
2008-09-02 * algebra/syntax.spad.pamphlet (Literal): New.dos-reis2-2/+18
(Identifier): Likewise. (Signature): Tidy. * algebra/exposed.lsp.pamphlet: Expose IDENT and LITERAL. * algebra/Makefile.pamphlet (axiom_algebra_layer_user): Add LITERAL and IDENT. (user-stamp): Don't depend directly on bootstrap-stamp. * share/algebra/: Update databases.
2008-09-012008-09-01 Martin Rubey <martin.rubey@univie.ac.at>dos-reis4-14/+81
Gabriel Dos Reis <gdr@cs.tamu.edu> Fix AW/431 * algebra/ore.spad.pamphlet (SpareUnivariateSkewPolynomial): Implement **. 2008-09-01 Gabriel Dos Reis <gdr@cs.tamu.edu> Make ^ an alias for **. * interp/postpar.boot (postAtom): Replace "^" with "**". * interp/format.boot (reportOpSymbol): Announce that "^" is an alias for "**". * interp/nrungo.boot (compiledLookup): Be sure to look for "**" when operation is "^". * interp/define.boot (noteCapsuleFunctionDefinition): New. (clearCapsuleFunctionTable): Likewise. (noteExport): Likewise. (clearExportsTable): Likewise. (compDefineCapsuleFunction): Rename "^" to "**". Take a note of the capsule function being compiled. (compCapsule): Clear previous capsule functions table. (doItIf): Keep track of predicate validity. (compCategory): Clear previous exports table. (compCategoryItem): Take notes of declared attributes and signatures. * algebra/catdef.spad.pamphlet (DivisionRing): Remove duplicate definition for "^". (Group): Likewise. (Monoid): Likewise. (SemiGroup): Likewise. * algebra/poly.spad.pamphlet (PolynomialRing): Remove duplicate definitins of "^". (SparseUnivariatePolynomial): Likewise. * algebra/multpoly.spad.pamphlet (SparseMultivariatePolynomial): Remove duplicate definitions for "^". * algebra/interval.spad.pamphlet (Interval): Remove duplicate definition for "^". * algebra/curve.spad.pamphlet (FunctionFieldCategory): Remove duplicate declaration for represents. * algebra/strap/: Update cached Lisp translations. * share/algebra: Update databases.
2008-08-30 * interp/sys-driver.boot (initializeGlobalState): Parse --bootstrap.dos-reis1-0/+1
2008-08-29Add more explicit importsdos-reis1-11/+11
2008-08-292008-08-29 Waldek Hebisch <hebisch@math.uni.wroc.pl>dos-reis1-0/+1
Alfredo Portes <doyenatccny@gmail.com> Fix AW/280 * interp/br-search.boot (grepConstruct): Return error messages verbatim.
2008-08-29 * interp/c-util.boot (isKnownType): New.dos-reis2-0/+28
(diagnoseUknownType): Likewise. * interp/define.boot (compCategoryItem): Use it. Check for unknown types.
2008-08-29 * interp/lisplib.boot (augModemapsFromDomain1): Move to modemap.bootdos-reis3-54/+35
(mkEvalableCategoryForm): Move to define.boot
2008-08-29 * interp/sys-os.boot (readFromFileHandle): New.dos-reis1-0/+18
(writeToFileHandle): Likewise. (closeFileHandle): Likewise. (openLocalClientStreamSocket): Likewise (oa_filedesc_read): Likewise. (oa_filedesc_write): Likewise. (oa_filedesc_close): Likewise. * include/sockio.h (oa_open_local_client_stream_socket): Declare. * lib/sockio-c.c (oa_open_local_client_stream_socket): Define. (oa_filedesc_read): Likewise. (oa_filedesc_write): Likewise. (oa_filedesc_close): Likewise.
2008-08-22 * interp/g-timer.boot (printTimeIfTrue): Don't compute thedos-reis1-1/+1
quotient of the integer division.
2008-08-21 * interp/g-error.boot (systemErrorHandler): New.dos-reis2-0/+19
* interp/sys-driver.boot (restart): Use it.
2008-08-20 * interp/compiler.boot (compMacro): Honor $verbose.dos-reis3-17/+20
* interp/modemap.boot (putDomainsInScope): Likewise. * interp/wi1.boot (compMacro): Likewise.
2008-08-20 * interp/sys-driver.boot (AxiomCore::%sysInit): Fix indentationdos-reis1-2/+2
thinko.
2008-08-19 * interp/lisplib.boot (compDefineLisplib): Don't updatedos-reis4-7/+4
$CategoryFrame with modemap for the constructor we just finished compiling.
2008-08-19 * interp/database.boot (pathToDatabase): Honor $verbose.dos-reis2-2/+5
* interp/compiler.boot (COMP-1): Likewise.
2008-08-17 * interp/sys-globals.boot ($verbose): Move from sys-driver.boot.dos-reis3-21/+31
(initializeGlobalState): Set it and honor it. * interp/daase.lisp (initial-getdatabase): Be talkative only when asked.
2008-08-17 * interp/sys-globals.boot ($updateCatTableIfTrue): Default to false.dos-reis5-9/+9
* interp/sys-driver.boot (AxiomCore::%sysInit): Have ECL quiet. (initializeGlobalState): Initialize new world states. * interp/define.boot (compDefine): Tidy. (compDefineCategory2): Explicitly initialize $TOP_LEVEL and $definition. * interp/daase.lisp (|fillDatabasesInCore|): Use $buildingSystemAlgebra. * interp/compiler.boot (compMakeDeclaration): Explicitly initialize $insideExpressionIfTrue. * boot/translator.boot (AxiomCore::%sysInit): Supper GCL and ECL compiler notes, but ask for warning.
2008-08-17 * interp/sys-driver.boot (openDatabases): Rename from RESTART0.dos-reis7-16/+75
(initializeGlobalState): Tidy. (executeSpadScript): Don't display start up messages. (compileSpadLibrary): Likewise. (buildDatabasesHandler): Likewise. (systemMain): Initialize global states. * interp/nrunfast.boot: Defin $NRTvec, $monitorNewWorld. * interp/daase.lisp (|fillDatabasesInCore|): Rename from RESETHASHTABLES. (|closeAllDatabaseStreams|): Rename from closeAllDatabases * interp/util.lisp (build-interpsys): Initialize macro table. * interp/htcheck.boot: Don't initialize macro table here.
2008-08-16 * interp/daase.lisp (DaaseName): Move to database.boot. Rename asdos-reis3-35/+26
pathToDatabase. (|closeAllDatabases|): New. Split from RESETHASHTABLES. * interp/util.lisp (build-interpsys): Call it here.
2008-08-16 * interp/Makefile.pamphlet (%.$(LNKEXT) %.$(FASLEXT)): Tidy.dos-reis2-4/+4
(%.$(LNKEXT) %.$(FASLEXT)): Likewise.
2008-08-16 * interp/define.boot (compDefineCategory2): Use rwriteLispForm.dos-reis3-8/+8
(compDefineFunctor1): Likewise. * interp/wi1.boot (compDefineCategory2): Likewise. (compDefineFunctor1): Likewise.
2008-08-16 * lisp/core.lisp.in (|%basicSystemIsComplete|): New. Export.dos-reis5-19/+30
(|link|): Use prologue for all systems. * interp/sys-driver.boot (systemMain): New. Break from restart(). (restart): Tidy. * interp/boot-pkg.lisp: Don't push :OPEN-AXIOM-BOOT-COMPLETE.
2008-08-15 * lisp/core.lisp.in (|$StandardLinking|): New. Export.dos-reis3-3/+4
* lisp/Makefile.in (edit): Update. * interp/daase.lisp: Don't load initial databases when --system-algebra. * interp/Makefile.pamphlet (${SAVESYS}): Build with --system-algebra.
2008-08-15 * interp/vmlisp.lisp (BPINAME): Define for ECL too.dos-reis3-19/+9
* interp/util.lisp (*BIN-TYPE*): Remove. Use $faslType throughout. * interp/daase.lisp (get-current-directory): Tidy conditional definition.
2008-08-15 * lisp/core.lisp.in (getOptionValue): Export.dos-reis4-2/+11
* interp/sys-driver.boot (initializeGlobalState): Record value for --system-algebra. * interp/sys-globals.boot ($buildingSystemAlgebra): Declare. * interp/compiler.boot (compileSpad2Cmd): Don't build local database if compiling system algebra. * interp/i-syscmd.boot (compileAsharpCmd1): Likewise. * algebra/Makefile.pamphlet (%.NRLIB/code.$(FASLEXT)): Use --system-algebra. (SPADPRSR.NRLIB/code.$(FASLEXT)): Likewise. (PARSER.NRLIB/code.$(FASLEXT)): Likewise.