aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2009-09-21 * interp/i-spec2.boot (findConstantInDomain): Substitute into thedos-reis1-3/+4
result domain.
2009-09-20 * boot/tokens.boot: "has" is not a keyword.dos-reis16-43/+41
* boot/ast.boot (bfHas): New. (bfReduce): Use "has" instead "has". (bfReduceCollect): Likewise. (bfReName): Likewise. (bfElt): Likewise. (bfSetelt): Likewise. * boot/parser.boot (bpSexpKey): Likewise. (bpPrefixOperator): Likewise. (bpInfixOperator): Likewise. (bpThetaName): Likewise. (bpIs): Parse "has" expressions. * boot/pile.boot (shoePileCoagulate): Likewise. * interp/: Fix unquoted use of "has". * interp/interop.boot (has): Remove.
2009-09-08 * interp/boot-pkg.lisp (DFLOAT-FORMAT-GENERAL): New.dos-reis2-3/+61
2009-09-08 * boot/ast.boot: Support "pointer" as simple datatype.dos-reis2-1/+17
* interp/compiler.boot (getBasicFFIType): SystemPointer is an FFI type. * algebra/data.spad.pamphlet (SystemPointer): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include SYSPTR.
2009-09-05 * algebra/data.spad.pamphlet: Cleanup.dos-reis2-1/+11
* interp/compiler.boot (getBasicFFIType): Handle 64-bit integer types.
2009-09-02 * interp/cstream.boot: Cleanup.dos-reis11-47/+52
* interp/g-boot.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/posit.boot: Likewise. * interp/sys-constants.boot: Define more constants.
2009-08-17 * boot/tokens.boot: Retire "^" as negation operator.dos-reis25-99/+99
* interp/br-search.boot: Use "not" instead of "^". * interp/br-util.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/g-error.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.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/mark.boot: Likewise. * interp/modemap.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/spad-parser.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2009-08-17 * interp/c-util.boot (deltaContour): Fix thinko.dos-reis1-1/+1
2009-08-16 * interp/compiler.boot (compAtom): Don't single out "nil".dos-reis1-5/+0
2009-08-16 * interp/i-map.boot (addMap): Fix typo from last commit.dos-reis3-4/+5
* 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.
2009-08-14 * boot/tokens.boot: Retire "^=". Introduce "~=".dos-reis80-533/+527
* 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.
2009-08-10(no commit message)dos-reis1-9/+9
2009-07-26 * interp/c-doc.boot (checkDecorate): Tidy.dos-reis2-9/+10
* interp/format.boot (form2Fence1): Likewise. (form2FenceQuote): Likewise.
2009-07-25 * configure.ac.pamphlet: Reject SBCL-1.0.29 as too buggy to builddos-reis1-2/+4
OpenAxiom. src/ Fix SF/2798962 * interp/c-doc.boot (checkDecorate): Don't insert formatting braces in Spad mode.
2009-07-14 * interp/g-opt.boot (optCatch): Lift nested functions.dos-reis1-23/+27
2009-07-13 * interp/metalex.lisp: "break" is now a keyword.dos-reis7-12/+61
* 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.
2009-07-12 * algebra/mkfunc.spad.pamphletdos-reis4-14/+31
(mkDefun$MakeFloatCompiledFunction): Tidy. * interp/c-util.boot (declareUnusedParameters): New. * interp/i-map.boot: Use it. * interp/i-spec1.boot: Likewise. * interp/slam.boot: Likewise. * lib/cfuns-c.c (writeablep): Document MinGW/MSYS bug work around.
2009-07-06 * interp/compiler.boot (localReferenceIfThere): Tidy.dos-reis3-19/+24
* interp/g-util.boot (homogeneousListToVector): New. * interp/g-opt.boot (optCollectVector): Use it.
2009-07-06 * interp/compiler.boot (coerceEasy): Don't pretend we can makedos-reis1-1/+0
matter our of void. * algebra/indexedp.spad.pamphlet (IndexedDirectProductAbelianMonoid): Tidy. (IndexedDirectProductAbelianGroup): Likewise. * src/algebra/poly.spad.pamphlet (PolynomialRing): Fix thinko.
2009-07-05 * interp/sys-driver.boot (AxiomCore::%sysInit): Have CLISP not bedos-reis1-1/+3
overreading on floating point contagion warning.
2009-07-05 * interp/c-util.boot ($middleEndMacroList): Remove COLLECTV.dos-reis4-135/+57
* 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.
2009-07-04 * interp/c-util.boot (simplifySEQ): New.dos-reis1-2/+9
(transformToBackendCode): Use it.
2009-07-03 * interp/sys-macros.lisp (PRIMVEC2ARR): Remove.dos-reis2-35/+17
(COLLECTVEC): Likewise. * interp/compiler.boot (compRepeatOrCollect): Tidy.
2009-07-02 * interp/sys-macros.lisp (COLLECTV): Use setSimpleArrayEntry, notdos-reis1-1/+1
SETELT.
2009-06-28 * interp/i-spec1.boot (checkForFreeVariables): Emitdos-reis1-4/+4
getSimpleArrayEntry instead of ELT.
2009-06-23 * interp/bootlex.lisp (spad): Don't bind $noSubsumption.dos-reis2-3/+2
* interp/i-spec1.boot (evalCOLLECT): Fix thinko.
2009-06-20 * interp/category.boot (SigOpsubsume): Remove as unused.dos-reis5-32/+3
(SourceLevelSubsume): Remove. (SourceLevelSubset): Likewise. * interp/sys-globals.boot: Likewise. * interp/define.boot: Tidy. * interp/functor.boot: Likewise. * interp/info.boot: Likewise. * algebra/si.spad.pamphlet: Don't set $noSubsets. * algebra/fortpak.spad.pamphlet: Don't set $noSubsumption. * algebra/fortran.spad.pamphlet: Likewise. * algebra/gdirprod.spad.pamphlet: Likewise. * algebra/mkfunc.spad.pamphlet: Likewise. * algebra/oct.spad.pamphlet: Likewise. * algebra/vector.spad.pamphlet: Likewise.
2009-06-16 * interp/define.boot (doItConditionally): New.dos-reis1-8/+32
(doIt): Use it for capsule-level conditional expressions.
2009-06-16 Fix SF/2396945dos-reis4-16/+1
* interp/scan.boot: '@@' is no longer a keyword. * interp/cparse.boot (npColonQuery): Remove. * interp/parse.boot (parseAtAt): Likewise. * interp/postpar.boot (postAtAt): Likewise.
2009-06-16 Fix SF/2806053dos-reis3-5/+5
* lisp/Makefile.in: Remove generated files when cleaning. * interp/Makefile.pamphlet: Add executable extensions if appropriate.
2009-06-15 * interp/define.boot (spadCompileOrSetq): Tidy.dos-reis3-5/+7
* interp/fnewmeta.lisp (PARSE-Sexpr1): Disable negative integers in data. A facility not actually used in Spad code.
2009-06-15 * interp/fnewmeta.lisp (PARSE-Scheme): Tidy.dos-reis3-3/+4
* interp/format.boot (dollarPercentTran): Translate T$ too. (application2String): Handle quasiquotations. * interp/postpar.boot (killColons): Don't remove quantified variables.
2009-06-14 Add support for existential type recovery.dos-reis5-10/+104
* 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.
2009-06-13 * algebra/any.spad.pamphlet (AnyFunctions1): Remove `pretend'dos-reis1-0/+26
shenanigans. Use is-case pattern matching. * interp/g-opt.boot (varIsAssigned): New. (canInlineVarDefinition): New. (optLET): Use it to inline functionally used local variables. Register as backend optimizer.
2009-06-13 * interp/sys-constants.boot ($defaultOptimizationLevel): New.dos-reis2-1/+5
* interp/sys-driver.boot (initializeGlobalState): Use it for default initialization level.
2009-06-13 Support multiple scrutinee in is-case pattern matching.dos-reis1-84/+154
* 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.
2009-06-13 * interp/i-coerce.boot: Revert previous patch.dos-reis2-11/+1
* interp/i-funsel.boot: Likewise.
2009-06-12 Support retract of domains.dos-reis3-2/+26
* interp/i-funsel.boot (findFunctionInDomain): Don't look into categories. * interp/i-coerce.boot (retract): Retract domain objects too. (retract1): Do it. (coerceInteractive): Likewise. * interp/nrunfast.boot (getDomainCategoriesVector): New. (getDomainCompleteCategories): Likewise.
2009-06-11 * interp/newaux.lisp: Remove digraphs '(<' and '>) as alternatedos-reis4-43/+36
spelling for '{' and '}'. * interp/fnewmeta.lisp (|PARSE-Primary1|): Use PARSE-Data for quoted forms. (|PARSE-Sexpr1|): Tidy. * interp/parse.boot (washOperatorName): New. Issue deprecation diagnostics for string syntax for operator names in signatures. (parseHas): Use it. (transCategoryItem): Likewise. * interp/metalex.lisp (advance-token): Likewise. * algebra/boolean.spad.pamphlet: Tidy.
2009-06-11 * interp/info.boot (actOnInfo): Don't remember new domain names ifdos-reis1-2/+4
at capsule function scope.
2009-06-10 * interp/parse.boot (parseDropAssertions): Remove.dos-reis2-10/+1
(parseCategory): Don't call it. * interp/nrungo.boot (lookupPred): Don't check for "asserted".
2009-06-10 * interp/parse.boot (parseHas): Preserve unnamed category forms.dos-reis5-15/+25
* 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.
2009-06-09 * interp/i-coerfn.boot (Expr2Up): Fix regression introduced bydos-reis1-2/+5
name$Kernel removal.
2009-06-09 * interp/compiler.boot (compLogicalNot): Tidy.dos-reis2-2/+9
* interp/define.boot (doIt): Tidy conditional case. * boot/tokens.boot: 'fourth' is a now a builtin function.
2009-06-08 Fix SF/2799773dos-reis3-10/+41
* 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.
2009-06-07 * algebra/domain.spad.pamphlet (DomainTemplate): New.dos-reis2-6/+6
(FunctorData): Likewise. (functorData$DomainConstructor): Likewise.
2009-06-01 Simplify compiler ast for `return' expressions.dos-reis2-12/+1
* interp/parse.boot (parseReturn): Remove. * interp/compiler.boot (compReturn): Tidy.
2009-06-01 * interp/compiler.boot (compGreaterThan): Remove.dos-reis2-12/+0
* interp/parse.boot (parseGreaterEqual): Likewise.
2009-06-01 * interp/compiler.boot (compGreaterThan): New. Compiledos-reis4-7/+10
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.
2009-05-29 * interp/compiler.boot (getSuccessEnvironment): Tidy.dos-reis1-15/+22
(getInverseEnvironment): Likewise. (compLogicalNot): Don't normalize to if-statement.