aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2008-10-13 * interp/nlib.lisp (rpackfile): Remove obsolete code.dos-reis1-23/+3
2008-10-12 * interp/c-util.boot (backendCompileNEWNAM): New.dos-reis5-108/+107
(pushLocalVariable): Likewise. (mutateToBackendCode): Likewise. (transformToBackendCode): Likewise * interp/comp.lisp (FLUIDVARS): Remove. (LOCVARS): Likewise. (SPECIALVARS): Likewise. ($CLOSEDFNS): Likewise. (COMP-NAM): Likewise. (COMP-TRAN): Likewise. (COMP-TRAN-1): Likewise. * interp/compiler.boot (compWithMappingMode): Use transformToBackendCode. (COMP-1): Use backendCompileNEWNAM. * interp/i-analy.boot (bottomUpCompile): Use mutateToBackendCode.
2008-10-11 * interp/c-util.boot (backendFluidize): New.dos-reis2-18/+18
* interp/comp.lisp (COMP-TRAN): Use it. (COMP-FLUIDIZE): Remove.
2008-10-11 * interp/c-util.boot (backendCompile2): Bootified from COMP-2.dos-reis3-14/+16
* interp/compiler.boot (COMP): Use it. * interp/comp.lisp (COMP-2): Remove.
2008-10-10Fix typo from last commitdos-reis1-2/+2
2008-10-10 * interp/c-util.boot ($middleEndMacroList): New.dos-reis2-99/+107
(middleEndExpand): New. (backendCompileILAM): Bootify COMP-ILAM. (backendCompileSLAM): Bootify COMP-SLAM. (backendCompileSPADSLAM): Bootify COMP-SPADSLAM. * interp/comp.lisp (COMP-2): Use them. (COMP-ILAM): Remove. (COMP-SLAM): Likewise. (COMP-SPADLSAM): Likewise. (COMP-TRAN): Use middleEndExpand. (COMP-EXPAND): Remove. ($COMP-MACROLIS): Likewise.
2008-10-08 * interp/i-util.boot (printPrompt): New.dos-reis5-14/+16
* interp/ht-util.boot (executeInterpreterCommand): Use it. * interp/int-top.boot (SpadInterpretStream): Likewise. * interp/metalex.lisp (get-a-line): Likewise. * interp/server.boot (serverReadLine): Likewise. (serverLoop): Likewise.
2008-10-07 * interp/define.boot (compCategoryItem): Don't check signatures yet.dos-reis3-16/+47
* interp/c-util.boot (isKnownCategory): New. (diagnoseUknownType): Use it. Expand. * interp/compiler.boot (compCat): Use it.
2008-10-07 * interp/nruncomp.boot: Remove unused variable $maximalViews.dos-reis2-5/+0
* interp/package.boot: Likewise.
2008-10-06 * interp/functor.boot (DescendCode): Update capsule directory onlydos-reis3-7/+66
for non-default implementations. * interp/c-util.boot ($capsuleDirectory): New. (clearCapsuleDirectory): Likewise. (getCapsuleDirectoryEntry): Likewise. (updateCapsuleDirectory): Likewise. (foldSpadcall): Likewise. (foldExportedFunctionReferences): Likewise. * interp/define.boot (compFunctorBody): Use it.
2008-10-06 * interp/sys-macros.lisp (|quietlyIfInteractive|): New.dos-reis2-13/+9
* interp/compiler.boot (quietlyIfInteractive): Use it. (compQuietly): Likewise. (compileQuietly): Likewise.
2008-10-05 * interp/c-util.boot ($optExportedFunctionReference): New.dos-reis2-2/+19
(setCompilerOptimizations): Set it. * interp/define.boot ($capsuleFunctionStack): New. (spadCompileOrSetq): Collect capsule function definitions. (compFunctorBody): Compile them at end of capsule.
2008-10-05 * interp/c-util.boot (getFunctionReplacement): Tidy.dos-reis1-1/+1
* algebra/data.spad.pamphlet (Byte): Likewise.
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.