Age | Commit message (Collapse) | Author | Files | Lines |
|
($optReplaceSimpleFunctions): Likewise.
(setCompilerOptimizations): Likewise. Set them.
(proclaimCapsuleFunction): New.
* interp/compiler.boot (compileSpad2Cmd): Handle option ')optimize'.
* interp/define.boot (compile): Proclaim if appropriate.
* interp/sys-driver.boot (compileSpadLibrary): Honor optimization
level set on commmand line.
* interp/sys-utility.boot (getVMType): Tidy.
* interp/types.boot (%Void): Likewise.
(IntegerSection): New.
|
|
* lib/cfuns-c.c (openaxiom_is_path_separator): New.
(oa_dirname): Define.
(writeablep): Use it.
* algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
|
|
* interp/modemap.boot (putDomainsInScope): Likewise.
* interp/wi1.boot (compMacro): Likewise.
|
|
* interp/compiler.boot (COMP-1): Likewise.
|
|
* interp/sys-driver.boot (AxiomCore::%sysInit): Have ECL quiet.
(initializeGlobalState): Initialize new world states.
* interp/define.boot (compDefine): Tidy.
(compDefineCategory2): Explicitly initialize $TOP_LEVEL and
$definition.
* interp/daase.lisp (|fillDatabasesInCore|): Use
$buildingSystemAlgebra.
* interp/compiler.boot (compMakeDeclaration): Explicitly
initialize $insideExpressionIfTrue.
* boot/translator.boot (AxiomCore::%sysInit): Supper GCL and ECL
compiler notes, but ask for warning.
|
|
* interp/sys-driver.boot (initializeGlobalState): Record value for
--system-algebra.
* interp/sys-globals.boot ($buildingSystemAlgebra): Declare.
* interp/compiler.boot (compileSpad2Cmd): Don't build local
database if compiling system algebra.
* interp/i-syscmd.boot (compileAsharpCmd1): Likewise.
* algebra/Makefile.pamphlet (%.NRLIB/code.$(FASLEXT)): Use
--system-algebra.
(SPADPRSR.NRLIB/code.$(FASLEXT)): Likewise.
(PARSER.NRLIB/code.$(FASLEXT)): Likewise.
|
|
* interp/c-util.boot: Likewise.
* interp/comp.lisp: Likewise.
* interp/compiler.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/def.lisp: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/iterator.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/newaux.lisp: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/package.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/property.lisp: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/spad.lisp: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* interp/Makefile.pamphlet (OCOBJS): Remove apply.$(OBJEXT).
|
|
(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.
|