Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
(evalCategory): Use it.
|
|
(COMP): Likewise. Rename to backendCompile.
(compileFileQuietly): Move to c-util.boot.
(compAndDefine): Likewise.
(compQuietly): Likewise.
(compileQuitely): Likewise.
|
|
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.
|
|
* interp/sys-constants.boot ($InputForm): New.
|
|
* 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.
|
|
* 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.
|
|
|
|
(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.
|
|
* interp/comp.lisp (COMP-TRAN): Use it.
(COMP-FLUIDIZE): Remove.
|
|
* interp/compiler.boot (COMP): Use it.
* interp/comp.lisp (COMP-2): Remove.
|
|
|
|
(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.
|
|
* 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.
|
|
* interp/c-util.boot (isKnownCategory): New.
(diagnoseUknownType): Use it. Expand.
* interp/compiler.boot (compCat): Use it.
|
|
* interp/package.boot: Likewise.
|
|
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.
|
|
* interp/compiler.boot (quietlyIfInteractive): Use it.
(compQuietly): Likewise.
(compileQuietly): Likewise.
|
|
(setCompilerOptimizations): Set it.
* interp/define.boot ($capsuleFunctionStack): New.
(spadCompileOrSetq): Collect capsule function definitions.
(compFunctorBody): Compile them at end of capsule.
|
|
* algebra/data.spad.pamphlet (Byte): Likewise.
|
|
(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.
|
|
|
|
(eqSubst): Likewise.
(replaceSimpleFunctions): Handle XLAM-replaceable functions.
* interp/wi1.boot (pairList): Remove duplicate.
|
|
(getFunctionReplacement): Likewise.
(replaceSimpleFunctions): Likewise.
* interp/define.boot (spadCompileOrSetq): Use it.
|
|
* interp/i-spec2.boot (evalIsntPredicate): Likewise.
* interp/sys-utility.boot (existingFile?): Likewise.
|
|
(compile$InputForm): Tidy.
* algebra/boolean.spad.pamphlet (setelt$IndexedBits): A bit is
not a Boolean.
* interp/i-intern.boot (mkAtreeForToken): New.
|
|
($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.
|
|
* interp/buildom.boot: Likewise.
* interp/def.lisp: Likewise.
|
|
* algebra/net.spad.pamphlet (InputBinaryFile): Likewise.
(OutputBinaryFile): Likewise.
* interp/sys-utility.boot (openBinaryFile): New.
(readByteFromFile): Likewise.
(writeByteToFile): Likewise.
(closeFile): Likewise.
|
|
Remove uses of pretend. Define Rep.
|
|
(bottomUp): Use it.
* interp/i-spec1.boot (upand): Likewise.
(upor): Likewise.
(upcase): Likewise.
* interp/i-spec2.boot (uperror): Likewise.
|
|
syntax domains.
|
|
|
|
* 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.
|
|
* lib/cfuns-c.c (openaxiom_is_path_separator): New.
(oa_dirname): Define.
(writeablep): Use it.
* algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
|
|
* algebra/Makefile.pamphlet: Add dependency rules for syntax
domains.
* algebra/exposed.lsp.pamphlet: Expose more syntax domains.
|
|
|
|
(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.
|
|
* 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.
|
|
(writeablep): Document.
* algebra/fname.spad.pamphlet (exists?$FileName): Use existingFile?
(readable?$FileName): Use readablep.
(writeable?$FileName): Use writeable.
|
|
|
|
functions.
* boot/strap/parser.clisp: Update.
* interp/sys-os.boot: Change to new syntax throughout.
|
|
* 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.
|
|
(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.
|
|
change directory.
(localdatabase): Adjust call.
* interp/lisplib.boot (getAllIndexPathnames): Take an argument.
(getAllAldorObjectFiles): Likewise.
|
|
* 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.
|
|
(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.
|
|
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.
|
|
|
|
|