Age | Commit message (Collapse) | Author | Files | Lines |
|
A couple of the Boot AST building functions are identity functions. Remove to reduce obfuscation.
|
|
function import.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(genImportDeclaration): Update it.
* boot/translator.boot (genModuleFinalization): Tidy. Generate
code to update $dynamicForeignFunctions where necessary.
(atLoadOrExecutionTime): New.
* lisp/core.lisp.in (UNBIND-FOREIGN-FUNCTION-SYMBOLS): New.
(saveCore): Use it.
($dynamicForeignFunctions): New. Export.
|
|
* config/open-axiom.m4 (OPENAXIOM_CHECK_DELAYED_FFI): New.
(OPENAXIOM_HOST_COMPILERS): Call it.
src/
* lisp/core.lisp.in (primitiveLoad): New. Export.
($delayedFFI): Likewise.
* lisp/Makefile.in (oa_delay_ffi): New.
(edit): Update.
* interp/sys-utility.boot: import sys-constants instead of sys-os.
* interp/sys-driver.boot (%sysInit): Do not loadSystemRuntimeCore.
(loadDelayedFFI): New.
(executeSpadScript): Call it.
(compileSpadLibrary): Likewise.
(buildInitdbHandler): Likewise.
(systemMain): Likewise.
* interp/util.lisp (BUILD-INTERPSYS): Likewise.
* interp/Makefile.in (oa_target_moddir): New.
(OA_FFI_MOD): Likewise.
(OA_FFI_OBJ): Define conditionally.
(OBJS): Use it.
($(oa_target_delayed)): New rule.
(oa_target_delayed): New.
(oa_target_ffi): Define conditionally.
(${SAVESYS}): Require it.
(${AXIOMSYS}): Likewise.
(sys-utility.$(FASLEXT)): Now require sys-constants.$(FASLEXT).
|
|
underbar when WIN32 (no longer necessary.)
* include/open-axiom.h (OPENAXIOM_EXPORT): Fix thino.
|
|
* interp/spad-parser.boot: Do not include. Import lexing instead.
* interp/Makefile.in: Adjust.
|
|
* boot/parser.boot (bpTypeName): Split out of bpTypeAliasDefinition.
(bpStruct): Use it. Support parameterized structures.
* boot/ast.boot (ctorName): New.
(bfEnum): Use it for parameterized enums.
(bfRecord): Use it for parameterized records.
|
|
(bpTyped): Use it.
(bpThrow): Lilkewise.
(bpRegularBVItemTail): Likewise.
(bpAssignLHS): Likewise.
(bpStoreName): Do not reference $typings.
* boot/ast.boot (%Ast): Remove %Pretend variant.
(bfSignature): Rename from bfLocal. Build %Signature variant.
(bfLET1): Handle assignment to typed variable.
(shoeCompTran): Do not reference $typings.
(shoeCompTran1): Do not translate assignment to typed variables.
(bindFluidVars): Handle them here.
(bfTagged): Remove.
(bfTry): Tidy.
* boot/translator.boot (shoeOutParse): Do not reference $typings
and $returns.
* interp/c-util.boot (isAlmostSimple): Initialize $assignmentList.
|
|
Remove references to $op.
|
|
* boot/parser.boot: Adjust.
|
|
sequence numbers.
Eliminate $letGenVarCounter and $isGenVarCounter.
|
|
Adjust callers.
* boot/translator.boot: Tidy.
|
|
|
|
(bfISReverse) Use it. Don't use bpTrap.
(bfIS1): Likewise.
(bfParameterList): Likewise.
(bfHandlers): Likewise.
* boot/parser.boot (bpTrap): Take a parser state argument.
Adjust callers.
|
|
(backquote): Do not quote integer and string literals.
|
|
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.
|
|
record structure.
(copyToken): Adjust.
(tokenSymbol): Remove as now automatically generated.
(tokenType): Likewise.
(tokenNonblank?): Likewise.
* boot/ast.boot (bfRecordDef): Specify a name for a copier function.
|
|
* 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.
|
|
(shoeCompTran1): Partially defer translation of fluid variable
definition.
(bindFluidVars!): New. Complete translation.
(groupFluidVars): New.
* interp/newfort.boot (fortFormatIntrinsics): Remove redundant return.
|
|
Remove globals. Adjust caller.
(shoeCompTran): Replace fluid variables by references.
|
|
* 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.
|
|
floating point literals too. Adjust callers.
(bfLessp): Check for integer or floating pointer numbers.
* interp/vmlisp.lisp (complex?): New.
(complex): Likewise.
(realPart): Likewise.
(imagPart): Likewise.
(conjugate): Likewise.
(sqrt): Likewise.
|
|
(bpConstTok): Include it.
* boot/ast.boot (bfFunction): New.
* boot/tokens.boot: `function' is now a keyword.
|
|
* boot/translator.boot (translateToplevel): Use it to translate
enumeration definitions.
* interp/types.boot (%ConstructorKind): Use new syntax.
|
|
(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.
|
|
* boot/ast.boot (bfType): New.
* boot/translator.boot (genDeclaration): Use it.
* boot/utility.boot (every?): New. Export.
(any?): Likewise.
(takeWhile): Lilkewise.
|
|
* 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.
|
|
changed at some point in time.
* lisp/core.lisp.in (AxiomCore) [CCL]: Import and export
FFI-related symbols.
|
|
|
|
* boot/ast.boot: Use it. instead of ASSOC.
* boot/translator.boot (packageBody): Tidy.
* interp/astr.boot: Use objectAssoc instead of ASSQ.
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/posit.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/sys-utility.boot (upwardCut): New.
* interp/spad.lisp: Use it.
* interp/util.lisp: Likewise.
* interp/spaderror.lisp: Likewise.
* interp/vmlisp.lisp (ASSEMBLE): Remove.
(ASSQ): Likewise.
(MEMQ): Likewise.
(NAMEDERRSET): Likewise.
(ORADDTEMPDEFS): Likewise.
* interp/macros.lisp (QLASSQ): Move to vmlisp.lisp.
(LASSQ): 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/c-util.boot: Use vector instead of LIST2VEC.
* interp/define.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/slam.boot: Likewise.
|
|
|
|
|
|
|
|
(bfMKPROGN): Tidy.
|
|
|