Age | Commit message (Collapse) | Author | Files | Lines |
|
Use %otherwise instead of %true where appropriate.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/i-code.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/info.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/compiler.boot (canReturn): Don't test for COND anymore.
|
|
|
|
(REFVECP): Likewise.
(CVECP): Likewise.
(QMEMQ): Likewise.
* interp/bootlex.lisp (TRANSLABEL1): Adjust.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/category.boot: Likewise.
* interp/database.boot: Likewise.
* interp/debug.lisp: Likewise.
* interp/format.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/ggreater.lisp: Likewise.
* interp/guess.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/union.lisp: Likewise.
* interp/trace.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/match.boot: Likewise.
* interp/word.boot: Likewise.
|
|
|
|
|
|
eval. Use middle end opcodes instead of EQCAR.
(coerceUn2E): Likewise.
|
|
* interp/slam.boot (reportFunctionCompilation): Tidy. Take extra
care when generating code that access global variables.
(reportFunctionCacheAll): Likewise.
* interp/i-util.boot (isLocallyBound): Define.
* interp/i-spec1.boot (upCOLLECT1): Bind $iteratorVars to nil.
(upLoopIterSTEP): Call mkIteratorVariable instead of mkLocalVar.
(upLoopIterIN): Likewise.
(upStreamIterIN): Likewise.
(upStreamIterSTEP): Likewise.
(collectOneStream): Tidy.
(mkAndApplyPredicates): Likewise.
(mkIterFun): Lose last parameter. Tidy.
(declare): Use isLocallyBound.
(getAndEvalConstructorArgument): Likewise.
(mkIteratorVariable): New.
($iteratorVars): New.
* interp/i-spec2.boot (upREPEAT1): Bind $iteratorVars to nil.
(isLocalPred): Use isLocallyBound.
(compileIs): Likewise.
(evalLETput): Likewise.
(evalLETchangeValue): Likewise.
(isType): Likewise.
* interp/i-analy.boot (bottomUp): Likewise.
(bottomUpDefaultCompile): Likewise.
* interp/i-eval.boot (evalForm): Likewise.
(getMappingArgValue): Likewise.
* interp/i-map.boot (findLocalVars1): Likewise.
(findLocalsInLoop): Tidy. Filter out iterator variables.
(isLocalVar): Remove.
* interp/g-util.boot (mkCacheName): Define here.
(mkAuxiliaryName): Likewise.
* interp/c-util.boot (backendCompileSLAM): Use mkCacheName.
(backendCompileSPADSLAM): Likewise.
* interp/clam.boot (compClam): Likewise.
(clearCategoryCaches): Likewise.
(clearCategoryCache): Likewise.
* interp/g-timer.boot (timedEVALFUN): expandToVMForm is now
implicitly called by eval.
|
|
lowerCase?, upperCase?, readByte, readInteger, readLine,
writeByte, writeLine.
* interp/as.boot: Use them.
* interp/bc-matrix.boot: Likewise.
* interp/bc-solve.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/database.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-root.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-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/word.boot: Likewise.
|
|
(extractCONDClauses): Likewise.
* interp/g-boot.boot: Remove.
* interp/def.lisp: Likewise.
* interp/Makefile.pamphlet: Adjust dependencies.
|
|
|
|
|
|
* 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.
|
|
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/br-search.boot: Use "not" instead of "^".
* interp/br-util.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/g-error.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-coerce.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.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/mark.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/spad-parser.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* boot/ast.boot: Use "~=" instead of "^=".
* boot/includer.boot: Likewise.
* boot/translator.boot: Likewise.
* interp/as.boot: Likewise.
* interp/bc-misc.boot: Likewise.
* interp/bc-solve.boot: Likewise.
* interp/bc-util.boot: Likewise.
* interp/br-con.boot: Likewise.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-prof.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/category.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/format.boot: Likewise.
* interp/fortcall.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-code.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-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-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/int-top.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/intfile.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/macex.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/match.boot: Likewise.
* interp/modemap.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nrungo.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/record.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/simpbool.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/br-saturn.boot: Likewise.
* interp/compat.boot: Likewise.
* interp/i-util.boot (textEditor): Define here.
* interp/g-util.boot: 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.
|
|
(coerceUn2E): Likewise.
(mkUnionFunList): Likewise.
* interp/i-coerce.boot (coerceUnion2Branch): Likewise.
(coerceBranch2Union): Likewise.
($newCompilerUnionFlag): Remove.
(orderUnionEntries): Likewise.
(mkPredList): Remove dead code.
|
|
* 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/spad.lisp: Likewise.
|
|
hashcode.
* interp/cfuns.lisp: Delete.
|
|
* interp/br-op1.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/category.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* interp/category.boot: Import "g-cndata"
* interp/c-util.boot: Import "g-opt".
* interp/Makefile.pamphlet: Adjust Make rules.
|
|
* interp/ht-util.boot (executeInterpreterCommand): Use it.
* interp/int-top.boot (SpadInterpretStream): Likewise.
* interp/metalex.lisp (get-a-line): Likewise.
* interp/server.boot (serverReadLine): Likewise.
(serverLoop): Likewise.
|
|
* lib/cfuns-c.c (openaxiom_is_path_separator): New.
(oa_dirname): Define.
(writeablep): Use it.
* algebra/fname.spad.pamphlet (writable?$FileName): Tidy.
|
|
(nruntime.$(FASLEXT)): Remove rule.
* interp/g-util.boot (getShellEntry): Move from interp/nruntime.boot.
(setShellEntry): Likewise.
* interp/i-util.boot (devaluateDeeply): Likewise.
* interp/lisplib.boot (unloadOneConstructor): Likewise.
* interp/nrungo.boot (lookupDisplay): Likewise.
(isIntantiated): Likewise
* interp/package.boot (isCategoryPackageName): Likewise.
* interp/nruntime.boot: Remove.
|
|
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.
|
|
* 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.
|
|
|