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.
|
|
Fix AW/370
* interp/compiler.boot (compWithMappingMode): Consult current
environment to decide which variabes are free.
* testsuite/compiler/cwmm-test.spad: 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.
|
|
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.
|
|
* 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.
|
|
($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.
|
|
(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.
|
|
(varini.$(FASLEXT)): Remove rule.
* compiler.boot (compileSpad2Cmd): Don't set $ncConverse; it is
unused. Don't set $newcomMode and $newComp.
(compTopLevel): There is no function newComp. So simplify.
* cattable.boot (updateCategoryTable): Remove test for $newcompMode.
* database.boot (updateDatabase): Likewise.
* int-top.boot (SpadInterpretStream): Don't set $newcompMode.
($ncmParse): Move from varini.boot.
($ncmMacro): Likewise.
* bookvol5.pamphlet: Remove reference to $newcompMode.
* define.boot (compDefineCapsuleFunction): Simplify.
* msg.boot: Move diagnostic related variables from varini.boot to here.
* posit.boot ($nopos): Move from varini.boot to here.
* setq.lisp ($newcompMode): Don't set here
($newComp): Likewise.
($LINELENGTH): Likewise.
* spad.lisp ($newComp): Likewise.
($LINELENGTH): Likewise.
* varinit.boot: Remove.
|
|
* compiler.boot: Import "define" and "iterator".
Move setting of special compiler functions from property.lisp to
here.
* iterator.boot (compCollectV): Uncomment.
(compIteratorV): Likewise.
(computeMaxIndex): Likewise.
(exprDifference): Likewise.
* parse.boot: Move setting of special parsing functions from
property.lisp to here.
* postpar.boot: Move setting of special parsing transformers from
property.lisp to here.
* property.lisp: Move setting of special compiler functions and
parsers to appropriate files.
|
|
|
|
* nspadaux.lisp: Don't register special parser for `not'-form.
* postprop.lisp: Likewise.
* property.lisp: Likewise.
* parse.boot (parseNot): Remove.
|
|
* ax.boot: Likewise.
* cattable.boot: Likewise.
* compiler.boot: Likewise.
* def.lisp: Likewise.
* define.boot: Likewise.
* functor.boot: Likewise.
* g-opt.boot: Likewise.
* i-analy.boot: Likewise.
* i-intern.boot: Likewise.
* i-map.boot: Likewise.
* i-object.boot: Likewise.
* i-output.boot: Likewise.
* i-spec2.boot: Likewise.
* info.boot: Likewise.
* mark.boot: Likewise.
* nrunopt.boot: Likewise.
* package.boot: Likewise.
* parse.boot: Likewise.
* pf2atree.boot: Likewise.
* pf2sex.boot: Likewise.
* postpar.boot: Likewise.
* pspad2.boot: Likewise.
* wi2.boot: Likewise.
|
|
(compForm1): Use it in checking for error functions.
|
|
|