aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2008-01-31Clean up unlisp.lisp.dos-reis5-967/+37
2008-01-28 Support signature declaration in Boot.dos-reis2-1/+108
* boot/ast.boot (bfUntuple): New. (bfTagged): Toplevel tags are signatures. * boot/parser.boot (bpTyping): New. (bpTagged): Use it. * boot/translator.boot (genDeclaration): New. (bpOutItem): Use it. * interp/compiler.boot: Add type annotations for compiler routines. * lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Don't turn on emit-fn.
2008-01-27 Fix SF/1872551dos-reis7-32/+98
* interp/c-util.boot (dollarIfRepHack): New. (RepIfRepHack): Likewise. (substituteDollarIfRepHack): Likewise. (isSubset): Dollar is subset of Rep only in old semantics. * interp/buildom.boot (mkMappingFunList): Substitute dollar for Rep only when appropriate. (mkRecordFunList): Likewise. (mkNewUnionFunList): Likewise. (mkUnionFunList): Likewise. * interp/compiler.boot (compNoStacking): Likewise. (compNoStacking1): Likewise. (getConstructorFormOfMode): Likewise. (isUnionMode): Likewise. (coerce): Likewise. (coerceSubset): Likewise. * interp/modemap.boot (addModemap1): Likewise. (isSuperDomain): Likewise. * interp/define.boot (maybeInsertViewMorphisms): New. (compCapsule): Use it. (compCategoryItem): Don't allow exports of rep and per. * interp/sys-globals.boot ($useRepresentationHack): New.
2008-01-26 * interp/database.boot: Tidy uses of $EmptyEnvironment.dos-reis10-27/+34
* interp/i-map.boot: Likewise. Allocate fresh cell for $env. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/setvars.boot: Likewise. * interp/sys-globals.boot: Likewise. * interp/nruncomp.boot: Encode flag types too. * interp/template.boot: Likewise. * share/algebra: Update databases.
2008-01-25 Fix AW/311dos-reis1-1/+2
* interp/i-syscmd.boot (displayOperationsFromLisplib): Say no exported operations when there is nothing to display.
2008-01-25 Fix AW/272dos-reis1-2/+2
* interp/i-spec1.boot (compileADEFBody): Don't evaluate unnamed functions. Compile them instead. * testsuite/interpreter/aw-272.input: New.
2008-01-25Fix typo from last commitdos-reis1-2/+2
2008-01-24Define some global variablesdos-reis6-12/+24
2008-01-22 Fix AW/102dos-reis1-2/+6
* interp/iterator.boot (getIdentity): Properly identity the algebra empty list.
2008-01-22 Apply patch byStephen Wilson <<wilsons@multiboard.com>dos-reis1-7/+8
Fix AW/370 * interp/compiler.boot (compWithMappingMode): Consult current environment to decide which variabes are free. * testsuite/compiler/cwmm-test.spad: New.
2008-01-22commit forgotten commentsdos-reis1-0/+5
2008-01-19 * interp/construc.lisp (|loadLibNoUpdate|): Fix thinko in initialdos-reis10-19/+19
value for empty environments. * interp/database.boot (rebuildCDT): Likewise. * interp/i-map.boot (addDefMap): Likewise. (rewriteMap0): Likewise. (rewriteMap1): Likewise. (compileDeclaredMap): Likewise. (analyzeUndeclaredMap): Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot (reportOperations): Likewise. * interp/i-toplev.boot (interpret): Likewise. * interp/lisplib.boot (loadLib): Likewise. (loadLibNoUpdate): Likewise. * interp/setvars.boot (resetWorkspaceVariables): Likewise. * interp/spad.lisp ($e): Move definition to sys-globals.boot. ($env): Likewise. * interp/sys-globals.boot ($e): Define here. ($env): Likewise. * algebra/any.spad.pamphlet (ObjectProperty): New. (Binding): Likewise. (Contour): Likewise. (Scope): Likewise. (Environment): Likewise. * algebra/exposed.lsp.pamphlet: Expose ObjectProperty, Binding, Contour, Scope, and Environment. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include OBJPROP.o. (axiom_algebra_layer_1): Include BINDING.o (axiom_algebra_layer_2): Include CONTOUR.o (axiom_algebra_layer_3): Include SCOPE.o (axiom_algebra_layer_4): Include ENV.o * share/algebra: Update database.
2008-01-17 Fix SF/1849734dos-reis1-6/+6
* interp/i-spec1.boot (upand): Don't insist on having operands of type Boolean. (upor): Likewise. * algebra/mkrecord.spad.pamphlet (Pair): New domain constructor. * algebra/exposed.lsp.pamphlet: Expose Pair, PropositionalLogic, PropositionalFormula. * algebra/boolean.spad.pamphlet (PropositionalFormula): New domain constructor. * algebra/Makefile.pamphlet (axiom_algebra_layer_4): Include PAIR.o. (axiom_algebra_layer_19): Include PROPFRML.o * share/algebra: Update databases. * testsuite/interpreter/1849734.input: New.
2008-01-16 Fix SF/1848975dos-reis1-4/+13
* interp/buildom.boot ($commonCategoryAncestors): New. ($commonCategoryDefaults): Likewise. (Record0): Use it. (Union): Likewise. (Mapping): Likewise. (Enumeration): Likewise. * testsuite/algebra/1848975.input: New.
2008-01-16 Fix SF/1872564dos-reis1-6/+0
* interp/compiler.boot (compPretend): Don't check for `new' compiler semantics. (compColonInside): Likewise. * testsuite/compiler/1872564.spad: New.
2008-01-15 * algebra/syntax.spad (autoCoerce$Syntax): Add overloads.dos-reis1-1/+1
* interp/compiler.boot (coerceExtraHard): Always coerce by autoCoerce. * testsuite/interpreter/case.spad: Likewise. * testsuite/interpreter/case.input: New.
2008-01-14 * interp/compiler.boot (compSymbol): Don't handle possibledos-reis3-33/+44
case views here. (hasUniqueCaseView): Rename from getUniqueCaseView. Take the target mode as second argument. (compForm2): Use calling convention vector to determine infer flag parameter types. (compCase1): Uniformly handle `case-expressions'. Call genDeltaEntry for selected operator. (coerceExtraHard): Handle coercions from UnionType domains. (autoCoerceByModemap): Tidy. * interp/g-opt.boot (optCall): Be more verbose in diagnostics. * algebra/syntax.spad (Syntax): Rework. * algebra/coerce.spad.pamphlet (UnionType): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include UTYPE.o * share/algebra: Update databases.
2008-01-13 Fix SF/1852076dos-reis1-2/+2
* algebra/domain.spad (reify$Domain): Specify target type of conversion. * interp/nrunfast.boot (newLookupInDomain): Tidy. (newLookupInCategories): Likewise. * testsuite/interpreter/1852076.input: New.
2008-01-13 Fix SF/1867459dos-reis2-1/+4
* interp/postpar.boot (postError): Fix thinko. * interp/parse.boot ($defOp): Define. * testsuite/compiler/1867459.spad: New.
2008-01-11 * interp/msg.boot (getStFromMsg): Fix typo.dos-reis1-1/+1
2008-01-08Disable highlighting on Win32dos-reis1-2/+4
2008-01-08 * boot/Makefile.pamphlet (AXIOM_LOCAL_LISP): Use Lisp image with Cdos-reis2-2/+13
bindings. * interp/msgdb.boot (brightPrint0): Don't highlight if the standard output is not attached to a terminal. * interp/sys-driver.boot (stdStreamIsTerminal): New. * lib/cfuns-c.c (std_stream_is_terminal): New.
2008-01-01Annual ChangeLog rotation.dos-reis1-0/+0
2007-12-27Remove more Makefile pamphlets and other leftover.dos-reis2-3/+3
2007-12-19 * nruncomp.boot (deltaTran): Fix thinko; handle the case where thedos-reis2-0/+6
domain of computation is the add form.
2007-12-18 * nruncomp.boot: Remove dead code.dos-reis2-46/+5
2007-12-16 * nruncomp.boot (NOTES): Encode quasiquoted values too.dos-reis4-10/+33
($lookupDefaults): Define. (newLookupInDomain): Look up in the add-chain first. (newLookupInCategories): Likewise. (lazyMatch): Quasiquote is now like a Mapping. (newExpandLocalTypeForm): Quasiquote is no longer like QUOTE. * nrungo.boot (lookupInDomainAndDefaults): New. (compiledLookup): Use it.
2007-12-16Revert previous accidental commit.dos-reis10-15/+41
2007-12-16Daily bumpdos-reis10-41/+15
2007-12-16 * nruncomp.boot (buildFunctor): Use $NRTbase instead of hardcodeddos-reis2-7/+14
constant 6. (NRTcheckVector): Likewise. (deepChaseInferences): Likewise.
2007-12-14 * nruncomp.boot (deltaTran): Use NRTaddIndex.dos-reis2-13/+16
(deltaTran): Likewise. (genDeltaEntry): Likewise. (genDeltaSpecialSig): Likewise. (NRTassignCapsuleFunctionSlot): Likewise. (genSlotSig): Likewise. (NRTassocIndexAdd): Remove.
2007-12-13 * c-util.boot (isAlmostSimple): A `case' expresion with a simpledos-reis2-0/+6
identified as first operand is a simple-expression.
2007-12-13 * parse.boot: Register parsers by name, not by pointers.dos-reis3-39/+43
2007-12-12 * define.boot (compDefineFunctor1): Don't set $NRTbase here.dos-reis5-3/+13
* nruncomp.boot ($NRTbase): Define as a constant. * setq.lisp: Don't set it.
2007-12-12 * buildom.boot: Use $OutputForm instead of $Expressiondos-reis3-15/+23
throughout. * compiler.boot (compAtom): Use $OutputForm instead of $Expression. (compSymbol): Likewise. (outputComp): Likewise.
2007-12-12 * compiler.boot (comp3): Use isQuasiquote.dos-reis13-86/+268
(compSymbol): Use condition type view for non Union objects. (getUniqueCaseView): New. Subroutine of compSymbol. (compForm2): Don't infer type for flag parameter through unique compilcation. (checkCallingConvention): New. (compileQuasiquote): coerce, don't convert. (compCase1): Handle non Union type object through modemap selection. (maybeSpliceMode): New. Subroutine of compCase1. Register special form compiler with their names, not pointers. * define.boot (candidateSignatures): New. (hasSigInTargetCategory): Use it. Tidy. (checkAndDeclare): Use isQuasiquote. (spadCompileorSetq): Rename non atomic parameters before calling LISP compiler. * g-util.boot (quasiquote): New. (isQuasiquote): Likewise. * i-intern.boot (flagArguments): New. (signatureFromModemap): Likewise. (mkAtree3): Use them. Handle functions taking flag arguments. * i-object.boot (getFlagArgsPos): New. * i-spec1.boot (userDefinedCase): Now prepare form and hands back to bottomUp. (upcase): Adjust call to userDefinedCase. * modemap.boot (addDomain): Don't add flag domains to the environment. * nruncomp.boot (NRTencode): Handle flag values. (NRTgetLocalIndex1): Likewise. * nrunfast.boot (lazyMatch): Likewise. (newExpandLocalTypeForm): Likewise. * sys-constants.boot ($DummyFunctorNames): Include quasiquote constructor. * template.boot (NRTaddInner): Handle flag values.
2007-12-10 * br-saturn.boot (compDefineCapsuleFunction): Remove.dos-reis3-117/+6
(postSignature): Likewise. (postDoubleSharp): Likewise.
2007-12-08 Add support for quasiquotation.dos-reis9-15/+96
* compiler.boot (compileQuasiquote): New function. * fnewmeta.lisp (|PARSE-Enclosure|): Parse quasiquotes too. * i-intern.boot (mkAtree3): Don't evaluate arguments to quasiquote. * i-spec1.boot ($specialOps): Register [||]. (up[||]): Handle quasiquotes. * newaux.lisp: Register `[|' and `|]' as new glyphs. * pf2sex.boot ($insideApplication): Now count the nesting level of application forms. ($insideQuasiquote): New. Count nesting level of quasiquotes. (pfFinishApplication): Ensure application form nesting level is properly decreased. (pfApplication2Sex): Use it. (pfQuasiquotation2Sex): Transform quasiquote forms. (pf2Sex1): Use it. * sys-constants.boot ($Syntax): New.
2007-12-08 Fix SF/1846477dos-reis3-50/+60
* i-syscmd.boot (printSynonyms): Eval commands in suspension before printing. (processSynonyms): Fully eval commands in suspension. * setvars.boot ($InitialCommandSynonymAlist): Tidy.
2007-12-08 * bc-util.boot ($newConstructorList): Move from setq.lisp to here.dos-reis28-194/+277
($createLocalLibDb): Likewise. * clam.boot ($hashNode): Likewise. * comp.lisp (|$compileDontDefineFunctions|): Likewise. * compiler.boot ($compileOnlyCertainItems): Likewise. * database.boot ($globalExposureGroupAlist): Likewise. * define.boot ($newCompCompare): Likewise. * format.boot ($permitWhere): Likewise. * g-boot.boot ($inDefLET): Likewise. ($inDefIS): Likewise. ($letGenVarCounter): Likewise. ($isGenVarCounter): Likewise. * g-error.boot ($ReadingFile): Likewise. (handleLispBreakLoop): Remove special case on $cclSystem. * g-timer.boot (computeElapsedTime): Likewise. * g-util.boot ($interpOnly): Move from setq.lisp to here. * i-funsel.boot ($domPvar): Likewise. * i-object.boot ($immediateDataSymbol): Likewise. * i-output.boot ($algebraOutputStream): Likewise. (ERROROUTSTREAM): Likewise. (ERRORINSTREAM): Likewise. * i-spec2.boot ($InterpreterMacroAlist): Likewise. * i-syscmd.boot ($NonNullStream): Likewise. ($NullStream): Likewise. ($localExposureDataDefault): Likewise. ($localExposureData): Likewise. * lisplib.boot ($functionLocations): Likewise. * msgdb.boot ($testingSystem): Likewise. * nlib.lisp (get-directory-list): Tidy. * nruncomp.boot ($devaluateList): Move from setq.lisp to here. ($functorLocalParameters): Likewise. ($insideCategoryPackageIfTrue): Likewise. ($profileCompiler): Likewise. * nrunfast.boot ($doNotCompressHashTableIfTrue): Likewise. * nrungo.boot ($insideCompileBodyIfTrue): Likewise. * setvars.boot ($InitialCommandSynonymAlist): Likewise. ($CommandSynonymAlist): Likewise. (setOutputLibrary): Simplify. * spad.lisp (|$newCompCompare|): Don't set here. (|$compileOnlyCertainItems|): Likewise. * sys-constants.boot ($BasicPredicates): Include SYMBOLP. ($TriangleVariableList): Move from setq.lisp to here. ($Any): Likewise. ($Boolean): Likewise. ($SingleInteger): Likewise. ($QuotientField): Likewise. ($ComplexInteger): Likewise. ($OutputForm): Likewise. ($FunctionalExpression): Likewise. ($Expression): Likewise. ($AnonymousFunction): Likewise. * sys-globals.boot (INPUT_-LIBRARIES): Likewise. (OUTPUT_-LIBRARY): Likewise. ($newConlist): Likewise. ($compilingInputFile): Likewise. ($minivectorNames): Likewise.
2007-12-07boot/dos-reis8-20/+41
2007-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu> * initial-env.lisp.pamphlet ("BOOTTRAN"): Don't use SYSTEM package. interp/ 2007-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu> * lisplib.boot (getSlotFromDomain): Use pointer to function Undef directly, instead of variable Undef. * i-syscmd.boot (cd): Move from patches.lisp to here. * g-timer.boot (printTimeIfTrue): Move from patches.lisp to here. * patches.lisp (Undef): Remove. ($printTimeIfTrue): Move to g-timer.boot. (cd): Move to i-syscmd.boot. (nullstream): Remove. (nononullstream): Likewise. (/MAJOR-VERSION): Move to sys-constants.boot. * setq.lisp (/MAJOR-VERSION): Remove. lisp/ 2007-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu> * core.lisp.in ("AxiomCore"): Don't use SYSTEM package.
2007-12-06daily bumpdos-reis4-32/+7
2007-12-06 * Makefile.pamphlet (xruncomp.$(FASLEXT)): Remove rule.dos-reis9-381/+70
(OCOBJS): Don't include xruncomp.$(FASLEXT) anymore. * xruncomp.boot: Remove. * compiler.boot (getFormModemaps): Merge from xruncomp.boot. * functor.boot (LookUpSigSlots): Likewise. * info.boot (actOnInfo): Likewise. * modemap.boot (addModemap1): Likewise. (evalAndSub): Likewise. (substNames): Likewise. (addConstructorModemaps): Likewise. * nruncomp.boot (NRTencode): Likewise. (genDeltaEntry): Likewise. (NRTassignCapsuleFunctionSlot): Likewise. (consDomainName): Likewise. (changeDirectoryInSlot1): Likewise.
2007-12-05 * macros.lisp (|$highlightAllowed|): Remove.dos-reis7-13/+24
(|$lightlightFontOn|): Likewise. (|$highlightFontOff|): Likewise. * patches.lisp (|$highlightAllowed|): Move to sys-globals.boot. (|$lightlightFontOn|): Move to sys-constants.boot (|$lightlightFontOff|): Likewise. * setvart.boot ($setOptions): Make highlighting default.
2007-12-04 * patches.lisp (|cd|): Make sure *default-pathname-defaults*dos-reis2-1/+6
stores the new directory name with a trailing slash.
2007-12-04 Support library function case.dos-reis2-2/+25
* i-spec1.boot (userDefinedCase): New. (upcase): Use it.
2007-12-03 * vmlisp.lisp (CGREATERP): Return canonical truthvalue.dos-reis2-1/+11
2007-12-03 * pf2sex.boot (pf2Sex1): Be talkative about why a parse form is Wrong.dos-reis2-1/+5
2007-12-03src/algebra/dos-reis4-2/+93
2007-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * script-parser.spad: New. * Makefile.pamphlet (axiom_algebra_layer_19): Include PARSER.o (PARSER.NRLIB/code.$(FASLEXT)): New rule. * exposed.lsp.pamphlet: Expose Parser constructor. src/interp/ 2007-12-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * i-parser.boot: New. * Makefile.pamphlet (i-parser.$(FASLEXT)): New rule. (OBJS): Include i-parser.$(FASLEXT).
2007-12-02src/boot/dos-reis1-1/+0
2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu> * Makefile.pamphlet (boot_objects_extra): New. (stage0/bootsys$(EXEEXT)): Use it. (stage1/bootsys$(EXEEXT)): Likewise. (stage2/bootsys$(EXEEXT)): Likewise. src/lisp/ 2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu> * Makefile.pamphlet (base_lisp_objects): New. Abstract over Lisp compilation models. (core.$(FASLEXT)): Tidy. * core.lisp.in (|getOutputPathname|): Make unary. (|link|): Make sure object files are used to construct ECL programs. (|makeHandler|): Adjust. (|compileLispFile|): Likewise.