Age | Commit message (Collapse) | Author | Files | Lines |
|
Allow the system command to ')read' a Boot source file: the involves
(1) compiling Boot to machine code
(2) loading the resulting FASL in the current system
Note that if the boot file has any dependency in terms of 'import',
one needs to set up the $LoadDirectories appropriately, or else the
system will crash. In particular, if you're modifying OpenAxiom
source files you need to include the appropriate directories
containing OpenAxiom fasl files.
|
|
|
|
|
|
|
|
|
|
|
|
* interp/patches.lisp (/RF): Move to cparse.boot.
(/RQ): Likewise.
(/RQ,LIB): Likewise.
(/RF-1): Likewise.
(/EF): Move to spad.lisp.
(construct): Remove.
(READSPADEXPR): Likewise.
(SHAREDITEMS): Likewise.
(installStandardTestPackages): Likewise.
(spadtestValueHook): Likewise.
(testError): Likewise.
($TestOptions): Likewise.
(rebuild): Likewise.
($ViewportProcessToWatch): Likewise.
(setViewportProcess): Likewise.
(waitForViewport): Likewise.
* interp/i-analy.boot (pushDownOp?): Use mkIntArray in place of
GETZEROVEC.
* interp/i-funsel.boot (argCouldBelongToSubdomain): Likewise.
* interp/i-intern.boot (flagArguments): Likewise.
|
|
|
|
* boot/utility.boot (reverse!): Define.
* boot/parser.boot: Use reverse! instead of NREVERSE.
* boot/ast.boot: Generate reverse! forms instead of NREVERSE.
|
|
|
|
|
|
a definition item too.
* interp/i-map.boot (addDefMap): Don't confuse constant
with niladic functions.
* interp/pf2sex.boot (pfDefinition2Sex): Don't be confused by
typed constant definitions.
|
|
(pfWithWithon): Remove.
(pfDefinableName?): New.
(pfCheckItOut): Use it.
* interp/cparse.boot (npWith): Simplify.
* interp/pf2sex.boot (pfWith2Sex): Adjust.
(pfAdd2Sex): Tidy.
|
|
to Application.
(npTypedForm): Replace Application with Quiver.
(npTypified): Likewise.
(npTagged): Use npTypedForm not npTypedForm1.
(npDiscrim): Now extend Relation, not Quiver.
(npMdef): Allow same LHS as npDef.
(npSingleRule): Likewise.
* boot/ast.boot: Replace CONCAT with strconc. Replace SYMBOL-NAME
with PNAME.
* boot/scanner.boot: Likewise.
* boot/translator.boot: Likewise.
|
|
|
|
* boot/parser.boot (bpLambda): New.
* boot/ast.boot (bfLambda): New.
* boot/tokens.boot: Add "+->" as token.
* interp/cparse.boot: Use lambda expression syntax.
* interp/c-util.boot: Likewise.
|
|
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/sys-os.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/wi1.boot: Likewise.
|
|
* interp/clammed.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/g-boot.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-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/rulesets.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* interp/cstream.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/incl.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/pile.boot: Likewise.
* interp/posit.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/types.boot: Likewise.
|
|
* interp/topics.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/define.boot: Likewise.
* interp/database.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-data.boot: Likewise.
|
|
assignment to first and rest fields.
* interp/astr.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/buildom.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/compress.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/dq.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/i-analy.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-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/packtran.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/termrw.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
|
|
|
|
* interp/ax.boot: 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/br-search.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/cstream.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-boot.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/ptrees.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/sfsfun.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* boot/tokens.boot: Don't rename 'is' and 'inst'.
* boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate.
* interp/: Likewise.
|
|
* interp/scan.boot: '@@' is no longer a keyword.
* interp/cparse.boot (npColonQuery): Remove.
* interp/parse.boot (parseAtAt): Likewise.
* interp/postpar.boot (postAtAt): Likewise.
|
|
(npType): Use it.
(npDefinitionOrStatement): Likewise. Accept quantified expressions.
(npMatch): Remove.
(npDef): Adjust.
(npMonoType): Likewise.
(npDiscrim): Recognize 'is' and 'isnt' patterns.
|
|
(npDefaultItemlist): Likewise.
(npSDefaultItem): Likewise.
(npDefaultItem): Likewise.
(npDefaultDecl): Likewise.
(npStatement): Don't call npTyping.
(npDefinitionItem): Likewise.
|
|
* Makefile.pamphlet (AXIOM_SRC_TARGETS): Add all-databases.
src/ChangeLog
2009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>
* lisp/core.lisp.in (|%algebraSystemIsComplete|): New.
(|%basicSystemIsComplete|): Use it.
* interp/wi1.boot (setqSingle): Use maximalSuperType.
(coerceSubset): Simplify.
(compCoerce1): Tidy.
* interp/i-resolv.boot (resolveTCat): Use superType.
* interp/lisplib.boot (findConstructorSlotNumber): Use isSubset.
(sigsMatch): Likewise.
(findDomainSlotNumber): Likewise.
* interp/define.boot (compSubDomain1): Reject for complex subdomain
predicate. Support paramterized subdomains.
* interp/daase.lisp (interpOpen): Read superdomain slot.
(getdatabase): Remove adhoc hardcoded superdomain info.
Return superdomain info stored in database.
(localnrlib): Read superdomain info.
(write-interpdb): Write superdomain info.
(database): Add superdomain slot.
* interp/g-util.boot (superType): New.
(maximalSuperType): Rework. Support parameterized subdomains.
(noteSubDomainInfo): New.
(isSubDomain): Rework.
* interp/c-util.boot (isSubset): Rework.
* interp/g-opt.boot (optEQ): Remove.
* interp/g-cndata.boot (getImmediateSuperDomain): Remove.
(maximalSuperType): Move to g-util.boot.
* interp/types.boot (%Constructor): New type specifier.
(%Instantiation): Likewise.
* interp/compiler.boot (primitiveType): Don't return $NegativeInteger.
(maxSuperType): Remove.
(hasType): Use maximalSuperType.
(satisfies): New.
(coerceSubset): Use it. Simplify.
* interp/wi2.boot (smallIntegerStep): Use maximalSuperType.
* interp/sys-constants.boot ($AtVariables): New.
($NegativeInteger): Remove.
($NonPositiveInteger): Likewise.
($CategoryNames): Category is not a category.
* interp/property.lisp: Remove Subsets property settings.
* interp/i-coerce.boot (coerceSubDomain): Simplify.
(coerceImmediateSubDomain): Remove.
(getSubDomainPredicate): Simplify.
* interp/category.boot (SourceLevelSubset): Use isSubDomain.
(MachineLevelSubset): Likewise.
* interp/modemap.boot (mergeModemap): Likewise.
(isSuperDomain): Remove.
(augModemapsFromDomain): Support parameterized subdomains.
* interp/i-util.boot (isSubDomain): Move to g-util.boot.
* Makefile.pamphlet (all-databases): New target.
* interp/Makefile.pamphlet ($(AXIOMSYS)): Push
:open-axiom-algebra-system onto *FEATURES*.
* etc/Makefile.in (all-databases): New target.
|
|
* interp/g-opt.boot ($simpleVMoperators): New.
(isSimpleVMForm): Likewise.
(isFloatableVMForm): Likewise.
(optLET): Likewise. Expand backend let-forms.
* interp/c-util.boot (foldSpadcall): Look into LET and COND forms.
(replaceSimpleFunctions): Likewise.
(mutateCONDFormWithUnaryFunction): New.
(mutateLETFormWithUnaryFunction): Likewise.
* interp/compiler.boot (tryCourtesyCoercion): Split from coerce.
(compRetractAlternative): Simplify. Now try courtesy coercions
before retraction.
(compRecoverAlternative): New.
(compMatch): Simplify. Implement type recovery too.
2008-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/compiler.boot (compRetractAlternative): New.
(compMatch): Likewise. Use it to implement pattern macthing
for retractable domains.
* interp/parse.boot (parseAtAt): New.
* interp/postpar.boot (postAtAt): Likewise.
(postAlternatives): Likewise.
(postMatch): Likewise.
* interp/metalex.lisp (Keywords): Remove `otherwise' as keyword.
* interp/fnewmeta.lisp (|PARSE-Match|): New local parser.
* interp/newaux.lisp (@@): New token. Align wih interpreter.
(otherwise): Remove binding specification.
(case): Now also a Nud token.
|
|
* 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.
|
|
(npAdd): Commit to parsing upon `add'.
(npDef): Tell npDefTail to look for '=='.
(npMdef): Accept argument to indicate '==' or '==>' forms.
(npSingleRule): A Rule is given by '=='.
(npDefTail): Take the kind of definition as a parameter.
(npDefinitionItem): Macro definitions are definitions.
(npMDEFinition): Remove.
(npMDEF): Hand off to npMdef to parse macro definitions.
(npMacro): Macros introduced by `macro' keyword uses '=='.
|
|
therefore a statement.
|
|
($npPCff): Likewise.
(npPPff, npPCff): Take an argument.
(npPPf): Likewise.
(npPPg, npPCg): Likewise.
(npPP, npPC): Pass around a suspension of the argument.
|
|
* interp/scan.boot: Tidy.
* interp/ptrees.boot: Define AST for type schemes.
* interp/cparse.boot (npType): Parse type schemes.
(npQuantifierVariable): New.
(npADD): Accept only monotypes.
* interp/pf2sex.boot (pf2Sex1): Handle type schemes.
(pfQuantified2Sex): New.
2008-07-23 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/cparse.boot (npMonoType): Rename from npType.
|
|
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.
|
|
|
|
(ptrees.$(FASLEXT)): New rule.
(cparse.$(FASLEXT)): Likewise.
* ptrop.boot.pamphlet: Move content to ptrees.boot.pamphlet.
* ptrees.boot.pamphlet: Import posit, serror.
* cparse.boot: New. Import ptrees.
* cparse.boot.pamphlet: Move content to cparse.boot. Remove.
* serror.boot: New.
(pfSourceStok): Move to posit.boot.
(npMissingMate): Move to cparse.boot.
(npMissing): Likewise.
(npCompMissing): Likewise.
(npRecorverTrap): Likewise.
(npListAndRecover): Likewise.
(npMoveTo): Likewise.
* serror.boot.pamphlet: Move content to serror.boot. Remove.
|