Age | Commit message (Collapse) | Author | Files | Lines |
|
A couple of the Boot AST building functions are identity functions. Remove to reduce obfuscation.
|
|
and update the boot translator Lisp cache.
|
|
|
|
|
|
|
|
|
|
Adjust caller.
(NRTsetVector4a): Likewise. Avoid special variable for environment.
* boot/utility.boot: Add and export substSource, substTarget.
* interp/define.boot: Use them.
|
|
|
|
|
|
|
|
are now builin.
* boot/ast.boot: Tidy.
* interp/c-util.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/sys-driver.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/lisp-backend.boot: Likewise.
|
|
* boot/ast.boot (bfRestrict): New.
(bpTyped): Rename from bpTagged. Accept type restriction.
* boot/utility.boot (drop): Restrict the result to a %List.
|
|
(makeToken): New.
* boot/includer.boot: Use %token accessors.
* boot/parser.boot: Likewise.
* boot/pile.boot: Likewise.
* boot/scanner.boot: Likewise.
* boot/utility.boot: Export subString.
|
|
* boot/tokens.boot: "with" is now a keyword in Boot.
* boot/parser.boot (bpSignature): The typing is required afte the
colong.
(bpFieldList): New.
(bpGlobalAccessors): Likewise.
(bpAccessorDefinitionList): Likewise.
(bpAccessorDefinition): Likewise.
(bpFieldSection): Likewise.
(bpSelectField): Likewise.
(bpRecord): Likewise.
(bpStruct): Use it to implement record structures.
* boot/ast.boot (%Ast): Add %Record and %AccessorDef.
(bfRecordDef): New.
|
|
(shoePROG): Likewise.
(declareLocalVars): New.
(maybeAddBlock): Likewise.
(hasReturn?): Likewise.
(shoeCompTran): Tidy.
|
|
* boot/ast.boot (%Ast): Add %Dynamic variant.
(bfColonColon): Use symbolBinding instead of FIND-SYMBOLS.
(compFluid): Return a %Dynamic form. Adjust callers.
(shoeCompTran): Tidy.
* boot/translator.boot (BOOTLOOP): Tidy.
(BOOTPO): Likewise.
|
|
* lisp/core.lisp.in (maxIndex): Define and export.
* interp/bootlex.lisp: Adjust.
* interp/parsing.lisp: Likewise.
* interp/macros.lisp: Likewise.
(DROPTRAILINGBLANKS): Remove.
(BLANKP): Likewise.
(NONBLANKLOC): Likewise.
* interp/io.boot (trimTrailingBlank): New.
(firstNonblankCharPosition): Likewise.
* interp/preparse.lisp: Use them. Adjust.
* interp/sys-macros.lisp (char): Remove.
* interp/vmlisp.lisp (MAXINDEX): Likewise.
* interp/br-search.boot (pmTransFilter): Fix bogus uses of char.
* interp/debug.lisp: Likewise.
* interp/g-util.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
|
|
(bpConstTok): Include it.
* boot/ast.boot (bfFunction): New.
* boot/tokens.boot: `function' is now a keyword.
|
|
(QSORT): Likewise.
* interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION.
* interp/sys-utility.boot (sortBy): New.
* interp/br-op1.boot: Use it.
* interp/clam.boot: Likewise.
* interp/define.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/showimp.boot: Likewise.
* boot/tokens.boot: "<-" is now a token.
* boot/ast.boot (bfKeyArg): New.
(bfExpandKeys): Likewise.
(bfApplication): Use it.
* boot/parser.boot (bpKeyArg): New.
(bpAssign): Use it. Parse named arguments.
|
|
loopBody and loopExit are not selectors.
* interp/i-output.boot: Include sys-utility.
* interp/sys-utility.boot (last): New macro.
(loopBody): Likewise.
* interp/vmlisp.lisp (LASTNODE): Remove.
(LASTPAIR): Likewise.
(last): Do not define here.
|
|
* boot/utility.boot (drop): Define and export.
(take): Likewise.
* interp/br-con.boot: Use take, not TAKE; use drop, not DROP.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/record.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/word.boot: Likewise.
* interp/macros.lisp (DROP): Remove.
(TAKE): Likewise.
|
|
* interp/compiler.boot (canReturn): Handle %lambda forms.
(compUnnamedMapping): Generate %lambda forms. Don't optimize them
yet.
* interp/g-opt.boot: %lambda forms are side-effect free.
* interp/lisp-backend.boot: Translate them.
|
|
* interp/sys-constants.boot ($QueryVariables): New.
* interp/define.boot ($whreDecls): Remove.
(checkRepresentation): Take a DB as first parameter. Adjust Callers.
(buildConstructorCondition): New
(deduceImplicitParameters): Likewise
(compDefineCategory2): Use it.
(compDefineFunctor1): Likewise.
(typeDependencyPath): Remove.
(inferConstructorImplicitParameters): Likewise.
* interp/compiler.boot (compTopLevel): Do not bind $whereDecls.
(recordDeclarationInSideCondition): Take additional reference
parameter to the list of processed decls. Adjust callers.
(compWhere): Record any side decls in compilation environment.
* interp/c-util.boot (makeCompilationData): Initialize implicit data.
(dbParameters): New.
(dbImplicitData): New accessor macro.
(dbImplicitParameters): New.
(dbImplicitConstraints): Likewise.
(dbSubstituteFormals): Likewise.
(dbSubstituteQueries): Likewise.
* interp/database.boot (fixUpPredicate): Tidy.
* boot/utility.boot (applySubst): Early exit on identity substitution.
(applySubst!): Likewise.
(applySubstNQ): Likewise.
* boot/ast.boot (bfIS1): Accept pattern matching against Boolean
constant true.
|
|
Set dbPredicates.
(compConLib1): Set dbPredicates to nil.
(compDefineLisplib): Likewise.
(finalizeLisplib): Write dbPredicates.
* boot/tokens.boot (copyTree): Do not translate.
* boot/utility.boot (topyTree): Implement. Export.
|
|
mapTarget, mapSource, mapKind.
* algebra/data.spad.pamphlet (SystemInteger) [min, max]: Disambiguate
with explicit type annotation.
(SystemNonNetativeInteger) [min, max]: Likewise.
* algebra/color.spad.pamphlet (Color) [sample]: Remove parenthesis.
* algebra/ffnb.spad.pamphlet
(FiniteFieldNormalBasisExtensionByPolynomial) [sizeOfGroundField]:
Likewise.
* algebra/matrix.spad.pamphlet (SquareMatrix) [dimension]: Likewise.
* algebra/view3D.spad.pamphlet: Likewise.
* algebra/viewDef.spad.pamphlet: Likewise.
* algebra/regset.spad.pamphlet (RegularTriangularSetCategory)
[unitIdealIfCan]: Remove, was useless.
* algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet)
[unitIdealIfCan]: Likewise.
* algebra/triset.spad.pamphlet (GeneralTriangularSet)
[unitIdealIfCan]: Likewise.
|
|
* boot/utility.boot (firstNonblankPosition): Do not declare.
|
|
(listToString): Likewise.
(formatToString): Likewise.
* boot/tokens.boot: Add fifth as builtin library function.
|
|
(setUnion): New.
(setDifference): New.
* boot/translator.boot (packageBody): New.
(translateToplevel): Use it. Translate namespace definition.
* boot/tokens.boot: Replace bitmask with bitref.
Do not translate setDifference and setUnion.
* boot/parser.boot (bpDef): Now include namespace definition.
(bpComma): Remove namespace rule as subsumed by Where rule.
* boot/Makefile.in: Remove dependencies on initial-env.lisp.
(AXIOM_LOCAL_LISP_sources): Remove as unused,
(boot_sources): Remove as redundant with boot_SOURCES.
* boot/initial-env.lisp: Remove.
|
|
(bfExpandTableIters): Use it.
* boot/initial-env.lisp (HKEYS): Remove.
* boot/tokens.boot (shoeDictCons): Iterate directly over shoeKeyTable.
(shoePunCons): Likewise.
* boot/translator.boot (shoeReport): Iterate directly over $bootUsed.
(shoeXReport): Likewise.
|
|
(bfIterateTable): New.
(separateIterators): Likewise.
(bfExpandTableIters): Likewise.
(bfLp1): Use them.
|
|
|
|
* interp/i-output.boot: Escape caret.
|
|
builtin library functions.
* interp/br-util.boot: Use copyVector instead of COPY-SEQ.
* interp/category.boot: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/newfort.boot: Likewise.
|
|
are new builtin library functions.
* boot/utility.boot (finishLine): New exported function.
* interp/i-output.boot (formulaFormat): Use it.
(texFormat): Likewise.
(texFormat1): Likewise.
(mathmlFormat): Likewise.
(output): Remove case for TextWriter.
|
|
(bfMain): Don't use it.
(translateToplevelExpression): Likewise.
* interp/Makefile.in (stamp): $(AUTO) is no more.
(all-interpsys): Likewise.
|
|
* interp/sys-utility.boot (readByteFromFile): Remove.
* boot/tokens.boot: Don't rename readLine and readByte.
* boot/includer.boot (shoeReadLine): Remove.
(bRgen1): Adjust. Use resdLine.
* algebra/net.spad.pamphlet (InputBinaryFile): Use readByte from
the runtime system.
|
|
|
|
* boot/parser.boot (bpOutItem): Bind it here.
|
|
* boot/ast.boot (bfDo): New.
* boot/parser.boot (bpDo): New.
(bpReturn): Include do-expressions.
* interp/vmlisp.lisp (do): Remove.
|
|
|
|
(BEVC-MAKE-FULL): Likewise.
(MAKE-BVEC): Likewise.
* boot/tokens.boot (shoeKeyTableCons): Adjust.
(shoePunCons): Likewise.
(shoeDfu): Likewise.
(shoeXref): Likewise.
|
|
|
|
|
|
(bfMember): Use them for special cases.
* boot/parser.boot (bpDefinition): Stop support MDEF forms.
(bpMdef, bpMDefTail): Remove.
* boot/tokens.boot: "==>" is no longer a token.
|
|
starting with the keyword "MACRO".
* boot/translator.boot (exportNames): Export them in all
evaluation contexts.
* interp/c-util.boot: "macro" is now a keyword.
* interp/define.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/postpar.boot: Likewise.
|
|
* boot/parser.boot (bpTyping): Support universally quantified types.
* boot/ast.boot: Rewrite APPEND as append.
(%Forall): New AST node.
* boot/translator.boot: Translate it.
|
|
(bfDoCollect): Tidy.
|
|
* boot/initial-env.lisp (SETDIFFERNECE): Remove.
* boot/translator.boot (evalBootFile): Rename form EVAL-BOOT-FILE.
* boot/utility.boot (setDifference): Define.
* interp/unlisp.lisp (ListMemberQ?): Remove.
(ListRemoveQ): Likewise.
(AlistAssocQ): Likewise.
|
|
(append!): Likewise.
* boot/tokens.boot: Do not translate nconc.
|
|
* boot/utility.boot (lastNode): Define.
|