Age | Commit message (Collapse) | Author | Files | Lines |
|
argument. Pass to compOrCroak.
* interp/compiler.boot (compElt): Adjust call to genDeltaEntry.
(compCase1): Likewise.
(coerceByModemap): Likewise.
(autoCoerceByModemap): Likewise.
(compCat): Likewise.
(compViableModemap): Take an additional environment argument.
Pass it to genDeltaEntry.
(compApplyModemap): Adjust call to compViableModemap.
(compResolveCall): Likewise.
|
|
(optimizableDomain?): Likewise.
(optCallSpecially): Use it
* interp/compiler.boot (processInlineRequest): Likewise.
* interp/nruncomp.boot (optDeltaEntry): Likewise.
* interp/wi2.boot (optDeltaEntry): Likewise.
|
|
* interp/compiler.boot (compAtom): Don't use it.
* interp/wi1.boot (compAtom): Likewise.
|
|
* interp/compiler.boot (processInlineRequest): Now accept any
functor.
* interp/c-util.boot (lookupFunctionInstance): New.
(isFormal): Likewise.
(expandFormTemplate): Likewise.
(equalFormTemplate): Likewise.
(getFunctionTemplate): Likewise.
(lookupInheritedDefiningFunction): Likewise.
(lookupDefiningFunction): Likewise.
* interp/nruncomp.boot (optDeltaEntry): Tidy. Use
lookupDefiningFunction.
|
|
functions used as constants.
* algebra/aggcat.spad.pamphlet (IndexedAggregate): Add parenthesis
for call to niladic function 'void'.
* algebra/algext.spad.pamphlet (SimpleAlgebraicExtension): Likewise.
* algebra/curve.spad.pamphlet (RadicalFunctionField): Likewise.
(AlgebraicFunctionField): Likewise.
* algebra/permgrps.spad.pamphlet (PermutationGroup): Likewise.
* algebra/pfo.spad.pamphlet (FunctionSpaceReduce): Likewise.
* algebra/setorder.spad.pamphlet: Likewise.
* algebra/ffcat.spad.pamphlet (FiniteFieldCategory): Add
parenthesis for call to niladic function 'representationType'.
* algebra/ffnb.spad.pamphlet
(FiniteFieldNormalBasisExtensionByPolynomial): Likewise for
normalElement.
* algebra/float.spad.pamphlet (Float): Likewise for OMencodingXML,
pi, log2, log10, digits.
* algebra/fnla.spad.pamphlet (FreeNilpotentLie): Likewise for
dimension.
* algebra/fraction.spad.pamphlet (Fraction): Likewise for
OMencodingXML.
* 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.
* algebra/intrf.spad.pamphlet (TranscendentalIntegration):
Likewise for empty.
* algebra/kl.spad.pamphlet (SortedCache): Likewise for cache, void.
* algebra/newdata.spad.pamphlet (TabulatedComputationPackage):
Likewise for usingTable?.
* algebra/omserver.spad.pamphlet (OpenMathServerPackage): Likewise
for OMencodingUnknown.
* algebra/plot.spad.pamphlet (Plot): Likewise for adaptive?.
* algebra/plot3d.spad.pamphlet (Plot3D): Likewise for adaptive3D?.
|
|
(transImplementation): Remove.
|
|
(compAtomWithModemap): Adjust call.
|
|
|
|
(modemap2Sig): Use pairList.
* interp/compiler.boot (applyMapping): Likewise.
* interp/database.boot (augLisplibModemapsFromCategory): Likewise.
(getOplistForConstructorForm): Likewise.
* interp/define.boot (compDefineCategory2): Likewise.
(compDefineFunctor1): Likewise.
(mkOpVec): Likewise.
* interp/lisplib.boot (finalizeLisplib): Likewise.
* interp/nruncomp.boot (mkSlot1sublis): Likewise.
* interp/wi1.boot (compDefineCategory2): Likewise.
* interp/wi2.boot (compDefineFunctor1): Likewise.
|
|
|
|
|
|
* interp/ax.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/sfsfun.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* boot/tokens.boot: Don't rename 'is' and 'inst'.
* boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate.
* interp/: Likewise.
|
|
* interp/compiler.boot (getBasicFFIType): SystemPointer is an FFI type.
* algebra/data.spad.pamphlet (SystemPointer): New.
* algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include SYSPTR.
|
|
* interp/compiler.boot (getBasicFFIType): Handle 64-bit integer types.
|
|
|
|
* interp/compiler.boot (compElt): Fix thinko, one more time.
* interp/nruncomp.boot (optDeltaEntry): Don't overquote VM forms
for constants.
* algebra/algext.spad.pamphlet: Call niladic functions with empty
argument lists.
* algebra/ddfact.spad.pamphlet: Likewise.
* algebra/gpgcd.spad.pamphlet: Likewise.
* algebra/modmon.spad.pamphlet: Likewise.
* algebra/pf.spad.pamphlet: Likewise.
* algebra/polycat.spad.pamphlet: Likewise.
* algebra/twofact.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: "nil" is now a ocnstant.
* algebra/string.spad.pamphlet: "space", "quote", "escape" are now
constants.
|
|
* boot/ast.boot: Use "~=" instead of "^=".
* boot/includer.boot: Likewise.
* boot/translator.boot: Likewise.
* interp/as.boot: Likewise.
* interp/bc-misc.boot: Likewise.
* interp/bc-solve.boot: Likewise.
* interp/bc-util.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-code.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/match.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/record.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/simpbool.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/fnewmeta.lisp (PARSE-Jump): New.
* interp/compiler.boot (compAtom): Dipatch compilation of "break"
and "iterate" to...
(compBreak): ... here
(compIterate): and here.
(jumpFromLoop): New.
(compRepeatOrCollect): Initialize $lookKind, $iterateCount, and
$breakCount. Set exit point for loop bodies with 'iterate'
expressions.
* interp/parse.boot (parseAtom): Remove.
(parseTran): Adjust.
* algebra/outform.spad.pamphlet: Tidy.
* interp/c-util.boot ($loopKind): Declare.
($repeatBodyLabel): Likewise.
($iterateCount): Likewise.
($breakCount): Likewise.
|
|
* interp/g-util.boot (homogeneousListToVector): New.
* interp/g-opt.boot (optCollectVector): Use it.
|
|
matter our of void.
* algebra/indexedp.spad.pamphlet
(IndexedDirectProductAbelianMonoid): Tidy.
(IndexedDirectProductAbelianGroup): Likewise.
* src/algebra/poly.spad.pamphlet (PolynomialRing): Fix thinko.
|
|
* interp/compiler.boot: Don't register compiler for COLLECTV forms.
(compReduce1): Don't test for COLLECTV.
(localReferenceIfThere): New.
(compRepeatOrCollect): Use it. Tidy.
(compCollectV): Remove.
(compIteratorV): Likewise.
(computeMaxIndex): Likewise.
(exprDifference): Likewise.
* interp/g-opt.boot (optCollectVector): New. Register as
back end tranformer.
* interp/sys-macros.lisp (COLLECTV): Remove.
|
|
(COLLECTVEC): Likewise.
* interp/compiler.boot (compRepeatOrCollect): Tidy.
|
|
* lisp/Makefile.in: Remove generated files when cleaning.
* interp/Makefile.pamphlet: Add executable extensions if appropriate.
|
|
* interp/compiler.boot (compRecoverDomain): New. Split from
compRecoverGuard.
(compRecoverGuard): Split. Handle existential type recovery.
(compScheme): New. Register as compiler.
* interp/g-opt.boot (optLET*): New. Turn into LET-form if
appropriate. Register as backend transformer.
* interp/fnewmeta.lisp (|PARSE-Scheme|): New.
(|PARSE-Quantifier|): Likewise.
(|PARSE-QuantifiedVariableList|): Likewise.
(|PARSE-QuantifiedVariable|): Likewise.
* interp/metalex.lisp (KEYWORDS): Add 'forall' and 'exist' as new
keywords.
* interp/newaux.lisp: Register parser for expression schemes.
* algebra/any.spad.pamphlet (=$Any): If the underlying domain has
BasicType, use that equality operator.
(coerce$Any): If the underlying domain has CoercibleTo OutputForm
then use it.
|
|
* interp/compiler.boot (compRetractGruard): Rename from
compRetractAlternative. Split.
(compRecoverGuard): Rename from compRecoverAlternative. Split.
(compAlternativeGuardItem): New. Use them.
(compAlternativeGuard): New.
(compMatchAlternative): New. Split from compMatch.
(compMatchScrutinee): Likewise.
(defineMatchScrutinee): Likewise.
(compMatch): Rework.
|
|
* interp/i-funsel.boot (hasCaty): Recursively look into Joins.
* interp/interop.boot (newHasCategory): Likewise.
* interp/compiler.boot (compHasFormat): Handle unnamed categories.
* interp/info.boot (knownInfo): Likewise.
|
|
* interp/define.boot (doIt): Tidy conditional case.
* boot/tokens.boot: 'fourth' is a now a builtin function.
|
|
* interp/c-util.boot (diagnoseUnknownType): Diagnose duplicate
fields in Record or Union, or duplicate constants in Enumeration.
* interp/i-eval.boot (checkRecordOrUnionFields): New.
(evaluateType): Use it.
* testsuite/interpreter/sf-2799773.input: New.
|
|
* interp/parse.boot (parseReturn): Remove.
* interp/compiler.boot (compReturn): Tidy.
|
|
* interp/parse.boot (parseGreaterEqual): Likewise.
|
|
greater-than expressions.
* interp/parse.boot (parseGreaterThan): Remove.
* algebra/data.spad.pamphlet (Byte): Implement all comparison
functions.
* algebra/integer.spad.pamphlet (Integer): Likewise.
* algebra/sf.spad.pamphlet (DoubleFloat): Likewise.
* algebra/si.spad.pamphlet (SingleInteger): Likewise.
* algebra/string.spad.pamphlet (Character): Likewise.
|
|
(getInverseEnvironment): Likewise.
(compLogicalNot): Don't normalize to if-statement.
|
|
(checkExternalEntity): Handle Builtin external entities.
(compSignatureImport): Likewise.
* algebra/boolean.spad.pamphlet (Boolean): Import Lisp function
from Foreign Builtin.
(KleeneTrivalentLogic): The constant `true' and `false' are now
inherited.
|
|
|
|
|
|
construction.
* interp/i-coerfn.boot (L2Tuple): Likewise.
* interp/i-object.boot (asTupleNew): Likewise.
(asTupleNew0): Likewise.
(asTupleNewCode): Likewise.
(asTupleNewCode0): Likewise.
* interp/i-spec1.boot (evalCOLLECT): Likewise.
(interpCOLLECT): Likewise.
* interp/i-spec2.boot (evalTuple): Likewise.
(upNullTuple): Likewise.
|
|
(compAtom): Allow implicit coercion to IO forms for values of
fundamental types.
(compSymbol): Likewise.
(compQuote): Likewise.
* algebra/aggcat.spad.pamphlet (coerce$BinaryRecursiveAggregate):
Don't hard code empty bracket.
|
|
Include Identifier.
* interp/compiler.boot (compElt): Fix up 0 and 1 shenannigan.
* algebra/boolean.spad.pamphlet (Reference): Use Identifier.
* algebra/Makefile.pamphlet (axiom_algebra_bootstrap): Remove REF.
(axiom_algebra_bootstrap_last_layer): Likewise.
* algebra/strap/REF.lsp: Remove.
|
|
* interp/compiler.boot (compQuote): Use the target mode if appropriate.
* interp/i-spec2.boot (upQUOTE): Likewise.
* algebra/syntax.spad.pamphlet: Use Identifier in lieu of Symbol.
|
|
(genSBCLnativeTranslation): Likewise.
* interp/compiler.boot (emitLocalCallInsn): Likewise.
(compForm1): Allow package call to external function.
(compElt): Likewise.
(getExternalSymbolMode): New.
(compForeignPackageCall): Likewise.
|
|
(getFFIDatatype): Accept ReadWrite modifier.
* algebra/data.spad.pamphlet (Int32): New.
(UInt64): Likewise.
* algebra/Makefile.pamphlet (axiom_algebra_layer_7): Include INT64
and UINT64.
|
|
signature import.
* interp/functor.boot (encodeLocalFunctionName): New.
* interp/define.boot (compDefine1): Avoid getAbbreviation.
(doIt): Handle %SignatureImport nodes.
* interp/compiler.boot (emitLocalCallInsn): New.
(applyMapping): Use it.
(compApplication): Likewise.
(bootDenotation): New.
(getBasicFFIType): Likewise.
(getFFIDatatype): Likewise.
(getBootType): Likewise.
(checkExternalEntityType): Likewise.
(checkExternalEntity): Likewise.
(removeModifiers): Likewise.
(compSignatureImport): Likewise.
* interp/vmlisp.lisp (|compileLispDefinition|): New.
* interp/boot-pkg.lisp: Import genImportDeclaration.
* boot/initial-env.lisp: Export genImportDeclaration.
* boot/ast.boot: Tidy. Accept `readwrite' modifier.
|
|
* interp/g-opt.boot (optimizeFunctionDef): Tidy.
* interp/i-syscmd.boot (compileSpad2Cmd): Support ')report' option.
* interp/sys-driver.boot (initializeGlobalState): Likewise.
|
|
optimizable domain constructors.
(processInlineRequest): New.
* interp/define.boot (spadCompileOrSetq): Tidy.
(mutateToNothing): New.
(doIt): Use it. Add support for inline directives.
* interp/fnewmeta.lisp (PARSE-Inline): New.
* interp/metalex.lisp (KEYWORDS): Include 'inline'.
|
|
|
|
|
|
vector.
(compSymbol): Don't interpret 'true' and 'false' as Boolean
constants if domain Boolean is not in scope.
* algebra/any.spad.pamphlet (Property): Tidy.
* algebra/asp.spad.pamphlet (Asp34): Likewise.
* algebra/functions.spad.pamphlet (BasicFunctions): Likewise.
* algebra/lodop.spad.pamphlet (OppositeMonogenicLinearOperator):
Likewise.
* algebra/groebsol.spad.pamphlet: Import Boolean.
|
|
pointers to the environment.
(compRecoverAlternative): Likewise.
(compMatch): Likewise.
(compIterator): Likewise.
(compIteratorV): Likewise.
* interp/define.boot (checkRepresentation): Likewise.
* interp/info.boot (actOnInfo): Likewise.
|
|
* interp/compiler.boot (compHasFormat): Handle signature for
constants too.
* interp/info.boot (actOnInfo): Likewise.
* algebra/data.spad.pamphlet (sample$Byte): Make a constant.
(SystemInteger): Export constant 'sample'.
(SystemNonNegativeInteger): Likewise.
* algebra/aggcat2.spad.pamphlet (FiniteLinearAggregateFunctions2):
Use 'sample' or 'random' elements when allocating new aggregates.
|