aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
AgeCommit message (Collapse)AuthorFilesLines
2010-06-02Use builtin functions for DF.dos-reis1-1/+1
2010-06-01 * algebra/list.spad.pamphlet: Use builtin functions.dos-reis1-2/+3
2010-06-01Adjust opcode for character supportdos-reis1-1/+1
2010-06-01 * interp/g-util.boot: Add more opcodes.dos-reis1-3/+4
* algebra/syntax.spad.pamphlet: Clean up. * algebra/variable.spad.pamphlet: Likewise. * algebra/ystream.spad.pamphlet: Likewise.
2010-05-31 * interp/compiler.boot (compWithMappingMode): Handle lambdados-reis1-2/+2
expressions as mapping.
2010-05-30 * interp/c-util.boot (middleEndExpand): Tidy.dos-reis1-4/+5
* interp/g-util.boot (expandToVMForm): Likewise. (expandStore): Refine store to pair components. * algebra/any.spad.pamphlet (Scope): Use builtin operators. (Environment): Likewise. * algebra/domain.spad.pamphlet (FunctionDescriptor): Likewise. (ConstructorCall): Likewise. (FunctorData): Likewise. (OperatorSignature): Likewise. (Category): Likewise. (Domain): Likewise. * algebra/integer.spad.pamphlet (Integer): Likewise. (NonNegativeInteger): Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/syntax.spad.pamphlet (Syntax): Likewise.
2010-05-30Add more opcodesdos-reis1-2/+3
2010-05-30 * algebra/boolean.spad.pamphlet (Boolean): Remove reference todos-reis1-1/+3
Lisp. Use builtin functions.
2010-05-28Clean up MAKEPROP usesdos-reis1-1/+1
2010-05-25 * interp/i-spec2.boot (evalREPEAT): Generate %repeat forms.dos-reis1-1/+1
(interpREPEAT): Likewise. * interp/i-spec1.boot (interpCOLLECT): Generate %collect forms. * interp/i-map.boot (findLocalVars1): Handle %repeat forms the same as REPEAT forms. * interp/g-opt.boot (changeThrowToExit): Don't look into %repeat forms. (expandInit): New. (expandLoop): New. abstract from expandCollect. (expandCollect): Use it. Rework. (expandRepeat): New.
2010-05-25 * interp/g-util.boot: Implement expansion of %collect forms.dos-reis1-1/+1
* interp/c-util.boot (middleEndExpand): Tidy. * interp/g-opt.boot (changeThrowToExit): Don't look into %collect forms. * interp/i-map.boot (getUserIdentifiersIn): Factorize. Handle %collect forms same as COLLECT forms. (findLocalVars1): Likewise. * interp/i-spec1.boot (evalCOLLECT): Now generate %collect forms. (checkForFreeVariables): Factorize. Handle %collect forms same as COLLECT forms.
2010-05-23 * boot/tokens.boot: gensym is now candidate for renaming.dos-reis1-3/+3
* boot/ast.boot: Replace GENSYM with gensym. * interp/buildom.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/macex.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/server.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-16 * interp/i-util.boot (flattenCOND): Move from g-boot.boot.dos-reis1-1/+1
(extractCONDClauses): Likewise. * interp/g-boot.boot: Remove. * interp/def.lisp: Likewise. * interp/Makefile.pamphlet: Adjust dependencies.
2010-05-09More cleanupsdos-reis1-1/+1
2010-05-09Cleanup STRCONC usesdos-reis1-3/+3
2010-05-09 * interp/c-util.boot: Replace uses of rplac with explicitdos-reis1-3/+3
assignments to first and rest fields. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/wi1.boot: Likewise.
2010-05-08 * interp/wi2.boot: Remove more RPLACA and RPLACD uses.dos-reis1-11/+11
* 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.
2010-05-08 * interp/wi2.boot: Remove more RPLACA and RPLACD uses.dos-reis1-1/+1
* 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.
2010-05-08 * interp/as.boot: Replace uses of RPLACA and RPLACD with explicitdos-reis1-1/+1
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.
2010-05-07 * interp/c-util.boot: Replace uses of rplac with explicit assignments.dos-reis1-24/+24
* interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/nrunfast.boot: Likewise. * lisp/core.lisp.in ($FilesToRetain): New. Export. * lisp/Makefile.in: Tidy. * boot/translator.boot (retainFile?): New. (compileBootHandler): Use it.
2010-05-07 * interp/as.boot: Miscellaneous cleanup.dos-reis1-1/+1
* interp/ax.boot: Likewise. * interp/br-con.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/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/cstream.boot: Likewise. * interp/define.boot: Likewise. * interp/diagnostics.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-util.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/interop.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pathname.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-06 * interp/wi2.boot: Replace INTEGERP, STRINGP, SYMBOLP, CONSP withdos-reis1-2/+2
integer?, string?, symbol?, and cons? respectively. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/showimp.boot: Likewise. * interp/setvars.boot: Likewise. * interp/record.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/postpar.boot: Likewise. * interp/posit.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/msg.boot: Likewise. * interp/modemap.boot: Likewise. * interp/match.boot: Likewise. * interp/mark.boot: Likewise. * interp/interop.boot: Likewise. * interp/int-top.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/g-util.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-error.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/functor.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/format.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/define.boot: Likewise. * interp/compress.boot: Likewise. * interp/compiler.boot: Likewise. * interp/clammed.boot: Likewise. * interp/clam.boot: Likewise. * interp/cformat.boot: Likewise. * interp/cattable.boot: Likewise. * interp/category.boot: Likewise. * interp/c-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/buildom.boot: Likewise. * interp/br-util.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-con.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/ax.boot: Likewise. * interp/as.boot: Likewise. * boot/translator.boot: Likewise. * boot/ast.boot: Likewise. * boot/includer.boot: Likewise. * boot/tokens.boot: Add new replacement for integer?, string?, symbol? and cons?
2010-05-05 * interp/compiler.boot (compSetq1): Call self, not compSetq.dos-reis1-1/+5
* interp/c-util.boot (isAtomicForm): Move to g-util.boot. * interp/g-opt.boot (optSEQ): Splice toplevel PROGN forms. * interp/g-util.boot (isAtomicForm): Move from c-util.boot. Export.
2010-05-05 * interp/c-util.boot: Change middle-end instruction "call" todos-reis1-3/+3
"%Call". * interp/compiler.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-05 * interp/compiler.boot: Miscellaneous cleanup.dos-reis1-1/+1
* interp/g-opt.boot: Likewise. * interp/functor.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-03 Generate more readable code for functor definitions.dos-reis1-0/+9
* interp/nruncomp.boot (washFunctorBody): New. (buildFunctor): Use it. * interp/g-opt.boot (optBind): New. (optLIST): Likewise.
2010-04-30 * interp/macros.lisp (|check-subtype|): Return coerced value if can.dos-reis1-1/+9
(|check-union|): Likewise. * interp/compiler.boot (coerceSuperset): Tidy. Generate %Retract instruction. * interp/g-opt.boot (optRetract): New.
2010-03-07 * interp/g-opt.boot ($VMsideEffectFreeOperators): New.dos-reis1-7/+22
($simpleVMoperators): Augment it. (semiSimpleRelativeTo?): New. (isSimpleVMForm): Use it. * interp/c-util.boot (forwardingCall?): New. (usesVariablesLinearly?): Likewise. (expandableDefinition?): Likewise. (foldSpadcall): Tidy. (foldExportedFunctionReferences): If a function is discovered to be expandable, make it so. * interp/define.boot (spadCompileOrSetq): Tidy.
2010-03-04 * interp/g-opt.boot (nominateForInlining): New.dos-reis1-2/+11
(optimizableDomain?): Likewise. (optCallSpecially): Use it * interp/compiler.boot (processInlineRequest): Likewise. * interp/nruncomp.boot (optDeltaEntry): Likewise. * interp/wi2.boot (optDeltaEntry): Likewise.
2010-03-04 * interp/c-util.boot (quoteMinimally): New.dos-reis1-2/+2
(registerFunctionReplacement): Likewise. * interp/define.boot (spadCompileOrSetq): Use it. * interp/g-opt.boot (optSpecialCall): Likewise. * interp/nruncomp.boot (optDeltaEntry): Likewise. * interp/spad.lisp (|knownEqualPred|): Likewise. * interp/wi2.boot (optDeltaEntry): Likewise.
2009-09-26 * interp/: More cleanup.dos-reis1-2/+2
2009-09-26 * interp/as.boot: Clean up.dos-reis1-1/+1
* 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.
2009-09-25 * boot/ast.boot (bfMember): Improve a bit.dos-reis1-8/+8
* boot/tokens.boot: Don't rename 'is' and 'inst'. * boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate. * interp/: Likewise.
2009-08-14 * boot/tokens.boot: Retire "^=". Introduce "~=".dos-reis1-1/+1
* 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.
2009-07-14 * interp/g-opt.boot (optCatch): Lift nested functions.dos-reis1-23/+27
2009-07-06 * interp/compiler.boot (localReferenceIfThere): Tidy.dos-reis1-16/+19
* interp/g-util.boot (homogeneousListToVector): New. * interp/g-opt.boot (optCollectVector): Use it.
2009-07-05 * interp/c-util.boot ($middleEndMacroList): Remove COLLECTV.dos-reis1-0/+41
* interp/compiler.boot: Don't register compiler for COLLECTV forms. (compReduce1): Don't test for COLLECTV. (localReferenceIfThere): New. (compRepeatOrCollect): Use it. Tidy. (compCollectV): Remove. (compIteratorV): Likewise. (computeMaxIndex): Likewise. (exprDifference): Likewise. * interp/g-opt.boot (optCollectVector): New. Register as back end tranformer. * interp/sys-macros.lisp (COLLECTV): Remove.
2009-06-14 Add support for existential type recovery.dos-reis1-0/+10
* interp/compiler.boot (compRecoverDomain): New. Split from compRecoverGuard. (compRecoverGuard): Split. Handle existential type recovery. (compScheme): New. Register as compiler. * interp/g-opt.boot (optLET*): New. Turn into LET-form if appropriate. Register as backend transformer. * interp/fnewmeta.lisp (|PARSE-Scheme|): New. (|PARSE-Quantifier|): Likewise. (|PARSE-QuantifiedVariableList|): Likewise. (|PARSE-QuantifiedVariable|): Likewise. * interp/metalex.lisp (KEYWORDS): Add 'forall' and 'exist' as new keywords. * interp/newaux.lisp: Register parser for expression schemes. * algebra/any.spad.pamphlet (=$Any): If the underlying domain has BasicType, use that equality operator. (coerce$Any): If the underlying domain has CoercibleTo OutputForm then use it.
2009-06-13 * algebra/any.spad.pamphlet (AnyFunctions1): Remove `pretend'dos-reis1-0/+26
shenanigans. Use is-case pattern matching. * interp/g-opt.boot (varIsAssigned): New. (canInlineVarDefinition): New. (optLET): Use it to inline functionally used local variables. Register as backend optimizer.
2009-05-10 * interp/g-opt.boot (emitIndirectCall): New.dos-reis1-16/+21
(optCall): Use it. (optSpecialCall): Likewise. (optSPADCALL): Tidy.
2009-03-02 * interp/compiler.boot (modeIsAggregateOf): Use RepIfRepHack.dos-reis1-1/+1
* interp/g-opt.boot (optimizeFunctionDef): Tidy. * interp/i-syscmd.boot (compileSpad2Cmd): Support ')report' option. * interp/sys-driver.boot (initializeGlobalState): Likewise.
2009-03-01(no commit message)dos-reis1-0/+4
2009-03-01 * interp/g-opt.boot (optimize): Remove non-qualifieddos-reis1-8/+6
interpretation of 'false' and 'true'. (optCond): Emit 'NOT', not 'NULL'. (optIF2COND): Likewise. (EqualBarGensym): Tidy.
2009-01-06 * interp/sys-utility.boot (getVMType): IndexList are lists.dos-reis1-2/+24
* interp/g-util.boot (isSubDomain): Tidy. * interp/g-opt.boot (isVMConstantForm): New. (findVMFreeVars): Likewise. * interp/define.boot (insertViewMorphisms): Remove. (emitSubdomainInfo): New. (checkVariableName): Likewise. (checkParameterNames): Likewise. (checkRepresentation): Set $subdomain where appropriate. (compDefines): Check parameter names. (compDefineFunctor1): Propagate subdomain info. (doIt): Don't call insertViewMorphisms. * interp/compiler.boot (setqSingle): Check variable name. (compIterator): Likewise. (commonSuperType): New. (satisfies): Likewise. (coerceSubset): Use them to implemen cross-subdomain coercion. (coerceSuperset): New. (comCoerce1): Use it. (compPer): New. (compRep): Likewise. * interp/c-util.boot (getRepresentation): New. (proclaimCapsuleFunction): Improve for specialized subdomains. * algebra/stream.spad.pamphlet: Don't use `per' as variable name. * algebra/si.spad.pamphlet (size$SingleInteger): Tidy. (coerce$SingleInteger): Likewise. * algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use `rep' as parameter name. * algebra/data.spad.pamphlet (Byte): Now a subdomain of NonNegativeInteger. Tidy.
2009-01-032009-01-03 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-9/+1
* 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.
2008-12-19 * interp/define.boot (insertViewMorphisms): New.dos-reis1-1/+2
(checkRepresentation): Rename from maybeInsertViewMorphisms. Tidy. (compDefineFunctor1): Tidy. (doIt): Insert view morphisms if appropriate.
2008-12-16 r12470@gauss: gdr | 2008-12-14 17:43:50 -0600dos-reis1-3/+2
Forgot to commit ChangeLog. r12471@gauss: gdr | 2008-12-14 19:11:21 -0600 Fix typo in PrimitiveRatRicDE. r12472@gauss: gdr | 2008-12-15 01:40:45 -0600 Reformat preparse.lisp. r12473@gauss: gdr | 2008-12-15 03:25:17 -0600 Tidy. r12474@gauss: gdr | 2008-12-15 21:33:54 -0600 Remove unused codes. r12475@gauss: gdr | 2008-12-15 21:57:22 -0600 . r12476@gauss: gdr | 2008-12-15 23:07:49 -0600 Tidy fatal diagnostics. r12477@gauss: gdr | 2008-12-15 23:50:02 -0600 Fold iterator.boot into compiler.boot.
2008-12-14 r12459@gauss: gdr | 2008-12-12 18:18:31 -0600dos-reis1-0/+1
Tidy compApplyModemap. r12460@gauss: gdr | 2008-12-13 09:24:50 -0600 Tidy compMapCond. r12461@gauss: gdr | 2008-12-13 10:24:14 -0600 Activate compViableModemap. r12462@gauss: gdr | 2008-12-13 11:18:17 -0600 Remove pmatch and pmatchWithSl out of main compiler. r12463@gauss: gdr | 2008-12-13 12:26:44 -0600 Tidy compApplyModemap. r12464@gauss: gdr | 2008-12-13 16:39:28 -0600 Add compExclusiveOr. r12465@gauss: gdr | 2008-12-13 16:54:58 -0600 . r12466@gauss: gdr | 2008-12-14 15:01:33 -0600 Tidy compLogicalNot.
2008-12-09 r12415@gauss: gdr | 2008-12-06 11:42:45 -0600dos-reis1-3/+4
Implement basic support for pattern matching. r12416@gauss: gdr | 2008-12-06 18:09:19 -0600 Parse case pattern match. r12417@gauss: gdr | 2008-12-06 21:28:30 -0600 Implement basic case pattern matching for retractable domain. r12418@gauss: gdr | 2008-12-07 00:58:58 -0600 Refine retractability implementation. r12419@gauss: gdr | 2008-12-07 01:39:32 -0600 Update cached Lisp translation r12420@gauss: gdr | 2008-12-07 03:52:09 -0600 r12421@gauss: gdr | 2008-12-07 10:30:44 -0600 Implement type recovery too. r12422@gauss: gdr | 2008-12-07 19:18:09 -0600 Simplify LET-forms and COND-forms. r12423@gauss: gdr | 2008-12-07 21:21:12 -0600 Fix typos r12424@gauss: gdr | 2008-12-08 01:14:54 -0600 Parse case-pattern in the interpreter. r12427@gauss: gdr | 2008-12-08 20:32:29 -0600 Handle RetractableTo T.
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-1/+65
* 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.