Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* interp/i-syscmd.boot (displayOperationsFromLisplib): Say no
exported operations when there is nothing to display.
|
|
* interp/i-spec1.boot (compileADEFBody): Don't evaluate unnamed
functions. Compile them instead.
* testsuite/interpreter/aw-272.input: New.
|
|
|
|
|
|
* interp/iterator.boot (getIdentity): Properly identity the
algebra empty list.
|
|
Fix AW/370
* interp/compiler.boot (compWithMappingMode): Consult current
environment to decide which variabes are free.
* testsuite/compiler/cwmm-test.spad: New.
|
|
|
|
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.
|
|
* 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.
|
|
* interp/buildom.boot ($commonCategoryAncestors): New.
($commonCategoryDefaults): Likewise.
(Record0): Use it.
(Union): Likewise.
(Mapping): Likewise.
(Enumeration): Likewise.
* testsuite/algebra/1848975.input: New.
|
|
* interp/compiler.boot (compPretend): Don't check for `new'
compiler semantics.
(compColonInside): Likewise.
* testsuite/compiler/1872564.spad: New.
|
|
* interp/compiler.boot (coerceExtraHard): Always coerce by
autoCoerce.
* testsuite/interpreter/case.spad: Likewise.
* testsuite/interpreter/case.input: New.
|
|
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.
|
|
* algebra/domain.spad (reify$Domain): Specify target type of
conversion.
* interp/nrunfast.boot (newLookupInDomain): Tidy.
(newLookupInCategories): Likewise.
* testsuite/interpreter/1852076.input: New.
|
|
* interp/postpar.boot (postError): Fix thinko.
* interp/parse.boot ($defOp): Define.
* testsuite/compiler/1867459.spad: New.
|
|
|
|
|
|
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.
|
|
|
|
|
|
domain of computation is the add form.
|
|
|
|
($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.
|
|
|
|
|
|
constant 6.
(NRTcheckVector): Likewise.
(deepChaseInferences): Likewise.
|
|
(deltaTran): Likewise.
(genDeltaEntry): Likewise.
(genDeltaSpecialSig): Likewise.
(NRTassignCapsuleFunctionSlot): Likewise.
(genSlotSig): Likewise.
(NRTassocIndexAdd): Remove.
|
|
identified as first operand is a simple-expression.
|
|
|
|
* nruncomp.boot ($NRTbase): Define as a constant.
* setq.lisp: Don't set it.
|
|
throughout.
* compiler.boot (compAtom): Use $OutputForm instead of $Expression.
(compSymbol): Likewise.
(outputComp): Likewise.
|
|
(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.
|
|
(postSignature): Likewise.
(postDoubleSharp): Likewise.
|
|
* 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.
|
|
* i-syscmd.boot (printSynonyms): Eval commands in suspension
before printing.
(processSynonyms): Fully eval commands in suspension.
* setvars.boot ($InitialCommandSynonymAlist): Tidy.
|
|
($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-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.
|
|
|
|
(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.
|
|
(|$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.
|
|
stores the new directory name with a trailing slash.
|
|
* i-spec1.boot (userDefinedCase): New.
(upcase): Use it.
|
|
|
|
|
|
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-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.
|