aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
AgeCommit message (Collapse)AuthorFilesLines
2011-08-06cleanupdos-reis1-16/+16
2011-08-04cleanupdos-reis1-5/+5
2011-07-04 * interp/vmlisp.lisp (PRINTEXP): Remove.dos-reis1-1/+2
* interp/br-data.boot: Use writeString, writeChar, and writeLine. * interp/c-util.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/record.boot: Likewise. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %writeString, %writeNewline, %writeLine. * interp/lisp-backend.boot: Translate them.
2011-06-22 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include FUNCALL.dos-reis1-2/+3
($simpleVMoperators): Include SPADCALL.
2011-06-22 * interp/g-opt.boot (optCond): Remove unreachable code. dos-reis1-14/+15
(opt2bit): Tidy. (opt2bool): Likewise. * interp/bits.lisp (TRUTH-TO-BIT): Remove. (BIT-TO-TRUTH): Likewise. (BVEC-MAKE-FULL): Likewise. (BVEC-ELT): Likewise. (BVEC-SETELT): Likewise.
2011-06-21 * lisp/core.lisp.in (%fNaN?): New.dos-reis1-1/+1
* interp/spaderror.lisp (trapNumericErrors): Handle ARITHMETIC-ERROR too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fNaN?. * algebra/clip.spad.pamphlet (TwoDimensionalPlotClipping): Use it. * algebra/plot.spad.pamphlet (Plot): Likewise.
2011-05-19 * interp/i-analy.boot (bottomUpForm0): Tidy.dos-reis1-17/+1
* interp/i-eval.boot (evalForm): Likewise. * interp/buildom.boot (formalRecordField): New. (eltRecordFun): Use it. (seteltRecordFun): New. * interp/g-opt.boot (optSETRECORDELT): Remove. (optRECORDCOPY): Likewise. * interp/vmlisp.lisp (MAKE-VEC): Likewise.
2011-05-19 * interp/i-eval.boot (evalForm): Adjust.dos-reis1-21/+4
* interp/buildom.boot (mkRecordFun): New. (eltRecordFun): Likewise. (copyRecordFun): Likewise. (mkRecordFunList): Use them. * interp/g-opt.boot (optMkRecord): Remove. (optRECORDELT): Likewise. * interp/lisp-backend.boot: Translate %vcopy.
2011-05-15cleanupdos-reis1-1/+1
2011-05-12 * boot/initial-env.lisp (MAKE-HASHTABLE): Remove.dos-reis1-1/+1
(BEVC-MAKE-FULL): Likewise. (MAKE-BVEC): Likewise. * boot/tokens.boot (shoeKeyTableCons): Adjust. (shoePunCons): Likewise. (shoeDfu): Likewise. (shoeXref): Likewise.
2011-05-02more cleanupdos-reis1-4/+4
2011-04-30more cleanupdos-reis1-28/+28
2011-04-29 * boot/utility.boot (assocSymbol): New.dos-reis1-4/+4
(applySubst): Likewise. Export. * boot/ast.boot: Use it. Remove SUBLIS and SUBLISLIS. * interp/ax.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.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/compiler.boot: Likewise.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-2/+2
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-19cleanupdos-reis1-6/+6
2011-04-16 * boot/tokens.boot (shoeIdChar): Accept "!" too.dos-reis1-2/+2
2011-04-15misc cleanupdos-reis1-1/+1
2011-03-20 * interp/g-opt.boot ($VMsideEffectFreeOperators): Includedos-reis1-1/+1
%bytevec2str and %str2bytevec opcode. * interp/lisp-backend.boot: Expand them. * algebra/data.spad.pamphlet (ByteBuffer): Tidy.
2011-03-20More cleanupsdos-reis1-1/+2
2011-03-12 * algebra/si.spad.pamphlet (IntegerNumberSystem) [positive?]:dos-reis1-2/+2
Remove definition. (SingleInteger): Simplify implementation of random. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. [positive?]: Define. * algebra/integer.spad.pamphlet (Integer): Tidy.
2011-03-09 * interp/g-opt.boot: %pair, %list, %vector, %bitvector are nowdos-reis1-5/+6
considered side-effect free functions. * algebra/boolean.spad.pamphlet: Reflect change. * algebra/Makefile.in (oa_strap_0_sources): Include MAYBE.
2011-03-09 * interp/g-opt.boot (semiSimpleRelativeTo?): Consider conditionals.dos-reis1-2/+5
2011-03-06 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %c2s.dos-reis1-1/+1
* interp/lisp-backend.boot: Translate it. * algebra/integer.spad.pamphlet (Integer) [convert]: Tidy. [latex]: Likewise. * algebra/string.spad.pamphlet (Character)[latex]: Likewise.
2011-02-27 * interp/g-opt.boot (optCond): Recognize conjunction anddos-reis1-0/+2
disjunction forms.
2011-02-26 * interp/g-opt.boot (optCond): Recognize conjunction anddos-reis1-0/+2
disjunction forms.
2011-02-26 * interp/nruncomp.boot (optDeltaEntry): Don't SPADCALL thedos-reis1-5/+0
constant producing function. * interp/c-util.boot (getFunctionReplacement): Use comptileTimeBindingOf. (lookupDefiningFunction): Tidy. * interp/g-opt.boot (compileTimeBindingOf): Move to c-util.boot.
2011-02-26 * interp/g-opt.boot (canInlineVarDefinition): Observe order ofdos-reis1-1/+1
evaluation.
2011-02-26 * interp/g-opt.boot (optNot): Push %not inside conditionals.dos-reis1-4/+3
(optCond): Remove ineffectual transformation.
2011-02-24Rename getShellEntry to shellEntry now that it is a macro accessor that ↵dos-reis1-1/+1
designate a place (usable in SETF).
2011-02-24Cleanup long standing confusiondos-reis1-1/+1
2011-02-24more cleanupsdos-reis1-1/+1
2011-02-24small cleanupsdos-reis1-1/+1
2011-02-22 * interp/g-opt.boot (optCond): Recognize conjunctive guard asdos-reis1-0/+1
nested conditionals.
2011-02-18Rename %veclit to %vector and %listlit to %listdos-reis1-13/+13
2011-02-13 * interp/buildom.boot (mkNewUnionFunList): Align arity ofdos-reis1-1/+1
'case' implementation to declared signature. (mkUnionFunList): Likewise. * interp/compiler.boot (compCase1): 'case' is now unconditionally binary. * interp/g-opt.boot (optCond): Fix thinko.
2011-02-13 * interp/g-opt.boot (optCond): Get rid of double negatives whendos-reis1-0/+3
possible. * interp/g-util.boot (assumeProperty): Remove. (flattenVMForm): Likewise. (mkVMForm): Likewise.
2011-02-12minor cleanupdos-reis1-4/+5
2011-02-12 * interp/g-opt.boot (changeVariableDefinitionToStore): Tidy.dos-reis1-6/+28
2011-02-11 * interp/g-opt.boot (dependentVars): New.dos-reis1-3/+19
(canInlineVarDefinition): Use it to safely inline vardefs.
2011-02-11 * interp/compiler.boot (canReturn): Don't check for LET*.dos-reis1-12/+2
* interp/g-opt.boot (optLET*): Remove as we now generate only %bind forms.
2011-02-11 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %funcalldos-reis1-1/+1
and %nothing. * algebra/mkfunc.spad.pamphlet: Use %funcall instead of FUNCALL.
2011-02-07Fix typo.dos-reis1-1/+1
2011-02-07 * interp/g-opt.boot (groupVariableDefinitions): Look into clausesdos-reis1-0/+5
of conditional too.
2011-02-06cleanup special hyperbolic builtinsdos-reis1-4/+4
2011-02-06 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fmanexp.dos-reis1-10/+30
(sideEffectFree?): New. (varIsAssigned): Tidy. (canInlineVarDefinition): Likewise. * interp/boot-pkg.lisp (gensym?): New. * interp/c-util.boot ($NonExpandableOperators): New. (expandableDefinition?): Use it. * algebra/sf.spad.pamphlet (DoubleFloat): Use %fmanexp.
2011-02-05 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include inversedos-reis1-3/+6
hyperbolic functions. * interp/lisp-backend.boot: Expand them. * algebra/sf.spad.pamphlet: Use them.
2011-02-05 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove CGREATERPdos-reis1-19/+21
and GGREATERP. Add VM-level complex number operators. * interp/lisp-backend.boot: Expand them. * algebra/gaussian.spad.pamphlet (ComplexCategory): Use VM form instead of Lisp level forms. * algebra/pfr.spad.pamphlet (PartialFraction): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/symbol.spad.pamphlet (Symbol): Likewise.
2011-02-04 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove more Lispdos-reis1-7/+4
level operators. Include %property and %bitveclt. * interp/lisp-backend.boot: Expand them. * algebra/si.spad.pamphlet (SingleInteger): Tidy. Use %ismall?. * algebra/domain.spad.pamphlet (DomainConstructo): Use %property. * algebra/outform.spad.pamphlet (OutputForm): Likewise. * algebra/boolean.spad.pamphlet (IndexedBits): Use %bitveclt.
2011-02-03 * interp/c-util.boot: Replace COND with %when throught.dos-reis1-23/+25
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.
2011-02-03 * interp/slam.boot (reportFunctionCompilation): Use %otherwise,dos-reis1-1/+1
not %true for default cases. (reportFunctionCacheAll): Likewise. (compileRecurrenceRelation): Likewise. * interp/lisp-backend.boot (expandTry): Tidy. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %otherwise. * interp/compiler.boot (compAlternativeGuard): Emit %otherwise form, not Lisp level T form. * interp/clam.boot (compClam): Tidy. (compHash): Likewise. (compHashGlobal): Likewise.