aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2008-10-18 * interp/debug.lisp (WHOCALLED): Add dummy definition.dos-reis1-0/+2
2008-10-18 * interp/i-output.boot (callForm2String): Properly display packagedos-reis1-7/+7
call.
2008-10-17 Fix AW/271dos-reis2-4/+10
* interp/sys-constants.boot ($Field): New. * interp/i-coerce.boot (retract2Specialization): Ignore expressions whose types do no belong to Field.
2008-10-17 Fix AW/410dos-reis1-1/+6
* interp/i-syscmd.boot (displaySpad2Cmd): Handle constructor abbreviation.
2008-10-16 * interp/scan.boot (scanKeyWords): `assume' is a keyword.dos-reis1-0/+1
2008-10-16 * interp/i-spec1.boot (categoryImplies): New.dos-reis1-1/+18
(evalCategory): Use it.
2008-10-16 * interp/compiler.boot (backendCompile1): Move to c-util.boot.dos-reis8-58/+56
(COMP): Likewise. Rename to backendCompile. (compileFileQuietly): Move to c-util.boot. (compAndDefine): Likewise. (compQuietly): Likewise. (compileQuitely): Likewise.
2008-10-15 * algebra/mkfunc.spad.pamphlet (coerce$InputForm): Displaydos-reis1-0/+96
InputForm as a one-dimensional stream of characters suitable for input to the interpreter. * interp/i-output.boot: Implement conversion of InputForm to displayed OutputForm.
2008-10-14 * interp/i-spec2.boot (upQUOTE): Quoted forms belong to InputForm.dos-reis2-1/+5
* interp/sys-constants.boot ($InputForm): New.
2008-10-13 Don't step over Common Lisp MAP.dos-reis12-36/+29
* interp/i-analy.boot (bottomUp): Change MAP to %Map. (isEltable): Likewise. * interp/i-coerce.boot (retract): Likewise. * interp/i-eval.boot (getArgValue): Likewise. * interp/i-funsel.boot (selectLocalMms): Likewise. * interp/i-intern.boot (getValueFromEnvironment): Likewise. * interp/i-map.boot (mkAuxiliaryName): Likewise. (augmentMap): Likewise. (displayMap): Likewise. (putBodyInEnd): Likewise. (expandRecursiveBody): Likewise. * interp/i-output.boot (outputTran): Likewise. * interp/i-spec1.boot (declare): Likewise. * interp/i-syscmd.boot (displayMacro): Likewise. * interp/i-toplev.boot (interpret2): Likewise. * interp/patches.lisp (MAP): Remove. * interp/trace.boot (isUncompiledMap): Likewise.
2008-10-13 Add support for Lisp declarations in generated Lisp code.dos-reis6-20/+54
* interp/i-map.boot (compileCoerceMap): Tell backend that minivector is global. * interp/i-spec1.boot (compileADEFBody): Likewise. * interp/slam.boot (reportFunctionCompilation): Likewise. * interp/define.boot (spadCompileOrSetq): Tell backend to ignore last argument for simple functions. * interp/c-util.boot (skipDeclarations): New. (lastDeclarationNode): Likewise. (declareGlobalVariables): Likewise. (transformToBackendCode): Use them to allow for Lisp declarations in middle-end forms. * interp/sys-driver.boot (AxiomCore::%sysInit): Reading Lisp level Floating point numbers default to double precision. * algebra/strap: Update.
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.