Age | Commit message (Collapse) | Author | Files | Lines |
|
(getConstructorMode): Likewise.
(isConstructorForm): Likewise.
|
|
|
|
* interp/compiler.boot (coerceExtraHard): Forms with type Category
are categories.
|
|
symbols.
* algebra/any.spad.pamphlet: Use nil for empty list.
* algebra/boolean.spad.pamphlet: Fix quoting.
|
|
string2BootTree.
* boot/translator.boot (BOOTTOCL): Tidy.
(BOOTTOCLC): Likewise.
(BOOTTOCLLINES): Likewise.
(BOOTTOCLCLINES): Likewise.
(string2BootTree): Define.
(translateToplevelExpression): Tidy.
(translateToplevel): Handle atoms. Tidy.
(shoePCompileTrees): Don't use bStreamPackageNull.
* interp/boot-pkg.lisp: Import $interactiveMode and string2BootTree.
* interp/util.lisp (string2BootTree): Remove.
(OLD-BOOT::BOOT): Likewise.
* interp/bootlex.lisp (boot): Likewise.
(boot-parse-1): Likewise.
* interp/compiler.boot (compileNot): Fix thinko.
* interp/sys-globals.boot ($InteractiveMode): Don't define here.
|
|
(parseNotEqual): Likewise.
* interp/compiler.boot (compCompilerPredicate): New.
(compileNot): Use it.
* interp/define.boot (compSubDomain1): Likewise.
(doItIf): Likewise.
* interp/bootlex.lisp (boot): Set $nornamizeTree.
* algebra/Makefile.pamphlet (axiom_algebra_layer_9): Move from
layer 4 to here.
|
|
(getFormModemaps): Likewise.
(compComma): New.
* interp/c-util.boot (isTupleInstance): New.
(isHomoegenousVarargSignature): Likewise.
(enoughArguments): Likewise.
(wantArgumentsAsTuple): Likewise.
* interp/apply.boot (reshapeArgumentList): New.
(compFormWithModemap): Use it.
|
|
(compQuietly): Likewise.
(compileQuietly): Likewise.
* interp/macros.lisp (PRINT-AND-EVAL-DEFUN): Move to sys-utility.boot.
(EVAL-DEFUN): Likewise.
(COMPILE-DEFUN): Likewise.
|
|
|
|
|
|
(COMP): Likewise.
(|compQuietly|): Likewise.
(|compileQuietly|): Likewise.
(COMP-1): Likewise.
|
|
* interp/compiler.boot (compReturn): Robustify.
(unknownTypeError): Likewise.
* interp/info.boot (knownInfo): Likewise.
|
|
(setqMultiple): Likewise.
* interp/def.lisp (DEF-IS2): Likewise.
* interp/define.boot (compAdd): Likewise.
* interp/fnewmeta.lisp (|PARSE-Enclosure|): Likewise.
* interp/fortcall.boot (lmultiToUnivariate): Likewise.
(functionAndJacobian): Likewise.
(vectorOfFunctions): Likewise.
* interp/mark.boot (markMultipleExplicit): Likewise.
(markInsertBodyParts): Likewise.
* interp/nruncomp.boot (NRTaddDeltaCode): Likewise.
* interp/nrunopt.boot (NRTextendsCategory1): Likewise.
* interp/postpar.boot (postTransform): Likewise.
(postTran): Likewise.
(postPretend): Likewise.
(postConstruct): Likewise.
(postBlockItem): Likewise.
(postCategory): Likewise.
(postForm): Likewise.
(postTransScripts): Likewise.
(postJoin): Likewise.
(postMapping): Likewise.
(postCollect): Likewise.
(postInSeq): Likewise.
(postType): Likewise.
(post%Comma): Rename from postTuple.
(unComma): Rename from unTuple.
(comma2Tuple): Remove.
* interp/trace.boot (traceSpad2Cmd): Use %Comma, not Tuple.
* interp/wi1.boot (compSetq1): Likewise.
(setqMultiple):Likewise.
* boot/translator.boot (compileBootHandler): Give up if
translation to Lisp contained errors.
* testsuite/compiler/aw-420.spad: New.
|
|
parameter.
(finalizeLisplib): Adjust call.
(compDefineLisplib): Likewise.
|
|
(compDefineLisplib): Use it.
(finalizeLisplib): Likewise.
* algebra/Makefile.pamphlet (%.NRLIB/code.$(FASLEXT)): Invoke the
compiler directly.
(SPADPRSR.NRLIB/code.$(FASLEXT)): Likewise.
(PARSER.NRLIB/code.$(FASLEXT)): Likewise.
* interp/compiler.boot (compSetq1): Fix thinko.
* interp/define.boot (hasSigInTargetCategory): Give a clue to the
pretty printer.
* interp/sys-utility.boot ($ERASE): Remove declaration.
|
|
(makeLiteral): Likewise.
* interp/compiler.boot (compSymbol): Use isLiteral.
* interp/wi1.boot (compSymbol): Likewise.
|
|
* interp/iterator.boot (compReduce1): Maintain proper scope for
loop variables.
(compRepeatOrCollect): Really maintain proper scope for loop variables.
* interp/compiler.boot (eltModemapFilter): Highlight faulty selector.
(seteltModemapFilter): Likewise.
* interp/c-util.boot (stackMessage): Don't build message if there
is no argument for substitution.
* algebra/aggcat.spad.pamphlet (#$UnaryRecursiveAggregate):
Declare free loop variable.
(cycleEntry$UnaryRecursiveAggregate): Likewise.
(cycleLength): Likewise.
(merge$OneDimensionalArrayAggregate): Likewise.
(delete$OneDimensionalArrayAggregate): Likewise.
(position$ListAggregate): Likewise.
* algebra/array1.spad.pamphlet (merge!$IndexedFlexibleArray): Likewise.
* algebra/combfunc.spad.pamphlet (K2fact$CombinatorialFunction):
Likewise.
* algebra/curve.spad.pamphlet
(nonSingularModel$FunctionFieldCategory): Likewise.
* algebra/dpolcat.spad.pamphlet
(differentiate$DifferentialPolynomialCategory): Likewise.
* algebra/efstruc.spad.pamphlet
(validExponential$ElementaryFunctionStructurePackage): Likewise.
(ker2explogs$InnerTrigonometricManipulations): Likewise.
(complexNormalize$TrigonometricManipulations): Likewise.
|
|
variables and variables declared in a loop are local to that loop.
* interp/g-error.boot (needsToSplitMessage): New.
(errorSupervisor): Use it.
* interp/compiler.boot (compSymbol): Highlight erron=eous symbol.
* interp/wi1.boot (stackMessage): Remove duplicate.
* algebra/ffcat.spad.pamphlet (FiniteFieldCategory): Tidy.
* algebra/fff.spad.pamphlet (FiniteFieldFunctions): Likewie.
* algebra/groebsol.spad.pamphlet (GroebnerSolve): Likewise.
* algebra/intfact.spad.pamphlet (IntegerRoots): Likewise.
* algebra/mkfunc.spad.pamphlet (InputForm): Likewise.
* algebra/numtheor.spad.pamphlet (IntegerNumberTheoryFunctions):
Likewise.
* algebra/permgrps.spad.pamphlet (PermutationGroup): Likewise.
* algebra/random.spad.pamphlet (RandomFloatDistributions): Likewise.
* algebra/sgcf.spad.pamphlet
(SymmetricGroupCombinatoricFunctions): Likewise.
* algebra/triset.spad.pamphlet (PolynomialSetUtilitiesPackage):
Likewise.
* algebra/twofact.spad.pamphlet (TwoFactorize): 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/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
|
|
Update all boot files to use `namespace' instead of `)package'.
* interp/: Likewise.
|
|
* boot/includer.boot: Likewise.
* boot/parser.boot: Likewise.
* boot/pile.boot: Likewise.
* boot/scanner.boot: Likewise.
* boot/tokens.boot: Likewise.
* boot/translator.boot: Likewise.
* boot/strap: Update Lisp translation.
* lisp/core.lisp.in: Tidy.
|
|
|
|
|
|
VECTOR, and VectorCategory.
|
|
|
|
instantiations.
* interp/modemap.boot (compCat): Move to compiler.boot.
|
|
* interp/comp.lisp (|compileFileQuietly|): Move to compiler.boot.
|
|
* interp/define.boot (compDefineFunctor1): Use setShellEntry.
(canCacheLocalDomain): Likewise.
(compilerCases): Likewise.
(doIt): Likewise.
* interp/functor.boot (setVector0): Likewise.
(setVector3): Likewise.
(setVector4part4): Likewise.
(setVector5): Likewise.
(mkVectorWithDeferral): Likewise.
(DescendCodeAdd1): Likewise.
(DescendCode): Likewise.
(ConsantCreator): Likewise.
(SetFunctionSlots): Likewise.
(CheckVector): Likewise.
* interp/g-opt.boot (optCall): Use getShellEntry.
(optSpecialCall): Likewise.
* interp/i-util.boot (devaluate): Likewise.
* interp/nruncomp.boot (buildFunctor): Use setShellEntry.
(NRTsetVector4a): Likewise.
(NRTputInLocalReferences): Use getShellEntry.
(NRTputInHead): Likewise.
* interp/nrunopt.boot (augmentPredVector): Use setShellEntry.
* interp/nruntime.boot (getShellEntry): New.
(setShellEntry): Likewise.
* interp/package.boot (processPackage): Use getShellEntry.
(PackageDescendCode): Use setShellEntry.
* interp/sys-globals.boot ($QuickCode): Remove.
* interp/template.boot (NRTdescendCodeTran): Use setShellEntry.
* interp/types.boot (%Void): New.
(%Shell): New.
* interp/wi2.boot (compDefineFunctor1): Use setShellEntry.
|
|
|
|
* interp/apply.boot: Adjust signature declarations.
* interp/compiler.boot: Likewise.
|
|
types.
|
|
* interp/sys-utility.boot (delete): Fix thinko.
* interp/sys-globals.boot ($sourceFiles): Define here.
(INPUTSTREAM): Likewise.
* interp/i-syscmd.boot (UNDERBAR): Move to sys-globals.boot.
* interp/fname.lisp: Import "macros".
* interp/debug.lisp: Import "parsing".
Replace $PRETTYPRINT with $PrettyPrint.
(/FN): Define.
(depthAlist): Likewise.
* interp/br-search.boot (docSearch1): Fix thinko.
* interp/Makefile.pamphlet (debug.$(FASLEXT)): Depend on
parsing.$(FASLEXT).
* interp/i-output.boot (starstarcond): Remove used function.
(transcomparg): Likewise.
(MATBORCH): Define here.
(*TALLPAR): Likewise.
* interp/vmlisp.lisp (|char|): Remove duplicate definition.
|
|
* 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.
|