aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-util.boot
AgeCommit message (Collapse)AuthorFilesLines
2011-05-05more cleanupdos-reis1-2/+2
2011-05-02 * boot/parser.boot (bpDefinition): Accept macro definitiondos-reis1-2/+2
starting with the keyword "MACRO". * boot/translator.boot (exportNames): Export them in all evaluation contexts. * interp/c-util.boot: "macro" is now a keyword. * interp/define.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/postpar.boot: Likewise.
2011-05-02more cleanupdos-reis1-2/+2
2011-04-30 * More cleanupdos-reis1-12/+12
2011-04-30more cleanupdos-reis1-4/+3
2011-04-29 * boot/utility.boot (assocSymbol): New.dos-reis1-1/+2
(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-23 * lisp/core.lisp.in: Export basic types and compiler data types.dos-reis1-15/+15
* interp/modemap.boot (knownInfo): Fix latent bug uncovered by type declarations. * boot/ast.boot: Remove type definitions. (bfIN): Handle DOT as loop variable. (bfON): Likewise. Allow a loop variable to iterator over its own tails. * boot/parser.boot (bfTyping): Simplify. (bpSimpleMapping): Fix thinko.
2011-04-22 * boot/utility.boot (copyList): Define.dos-reis1-2/+2
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2011-04-20more cleanupdos-reis1-3/+4
2011-04-18cleanupdos-reis1-1/+2
2011-04-17cleanupdos-reis1-11/+14
2011-04-17cleanupdos-reis1-18/+18
2011-04-17 * boot/tokens.boot: Translate maxIndex to MAXINDEX.dos-reis1-3/+3
2011-04-16 * boot/tokens.boot (shoeIdChar): Accept "!" too.dos-reis1-1/+1
2011-04-15misc cleanupdos-reis1-7/+7
2011-02-25 * boot/tokens.boot: makeSymbol is not a builtin function.dos-reis1-3/+3
* boot/ast.boot: Use makeSymbol in place of INTERN. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. * interp/alql.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-map.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/g-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/modemap.boot: Likewise. * interp/mark.boot: Likewise. * interp/intfile.boot: Likewise. * interp/interop.boot: Likewise. * interp/incl.boot: Likewise. * interp/word.boot: Likewise. * interp/wi2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/topics.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/showimp.boot: Likewise. * interp/scan.boot: Likewise.
2011-02-24 * interp/sys-macros.lisp (shellEntry): New.dos-reis1-6/+0
* interp/g-util.boot (setShellEntry): Remove. * interp/compiler.boot: Use %store to %tref forms instead of setHSellEntry. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/showimp.boot: Likewise. * interp/c-util.boot (isSimple): Tidy. (isSideEffectFree): Likewise. (updateCapsuleDirectory): Likewise.
2011-02-24more cleanupsdos-reis1-5/+0
2011-02-22 * boot/tokens.boot: mmSource is a new selector for modemap datatype.dos-reis1-2/+2
* interp/wi1.boot: Likewise. * interp/br-data.boot: Various cleanups. * interp/c-util.boot: Likewise. * interp/compiler.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/i-util.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/topics.boot: Likewise.
2011-02-18Rename %veclit to %vector and %listlit to %listdos-reis1-1/+1
2011-02-13 * interp/g-opt.boot (optCond): Get rid of double negatives whendos-reis1-45/+0
possible. * interp/g-util.boot (assumeProperty): Remove. (flattenVMForm): Likewise. (mkVMForm): Likewise.
2011-02-02 * interp/lisp-backend.boot: New file. Consolidate Common Lispdos-reis1-563/+0
backend module. * interp/Makefile.in (OBJS): Include it. (lisp-backend.$(FASLEXT)): New rule.
2011-01-31 * interp/g-opt.boot (optQSMINUS): Remove.dos-reis1-0/+1
* algebra/data.spad.pamphlet: Tidy. * algebra/plot.spad.pamphlet: Likewise. * algebra/plot3d.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Remove use of NULL$Lisp.
2011-01-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Remove QCDR,dos-reis1-0/+4
QCAR. SYMBOLP, GREATERP. Add %ibit, %ilength, %ident, %equal. * interp/g-util.boot: Expand them * algebra/any.spad.pamphlet: Tidy. * algebra/catdef.spad.pamphlet: Likewise. * algebra/data.spad.pamphlet: Likewise. * algebra/domain.spad.pamphlet: Likewise. * algebra/float.spad.pamphlet: Likewise. * algebra/fname.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/random.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/symbol.spad.pamphlet: Likewise. * algebra/syntax.spad.pamphlet: Likewise.
2011-01-31 * interp/vmlisp.lisp: Remove QREFELT, QSDEC1, QSETREFV, QSETVELT,dos-reis1-0/+1
QSETVELT-1, QSINC1, QVELT, QVELT-1. * algebra/si.spad.pamphlet: Use %iinc and %idec forms.
2011-01-26 * interp/g-util.boot (expandListlit): Tidy.dos-reis1-2/+7
2011-01-26 * interp/compiler.boot (compForm1): Use %listlit form.dos-reis1-7/+12
(compExpressionList): Likewise. (compCons1): Likewise. (compList): Likewise. (compVector): Likewise. * interp/g-timer.boot (timedEvaluate): Likewise. * interp/wi1.boot: Likewise. * interp/slam.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/i-object.boot: Likewise. * interp/g-opt.boot (optMkRecord): Likewise. (optRECORDCOPY): Likewise. (optLIST): Remove. (optListlit): New. * interp/g-util.boot (optListlit): New. Expand %listlit forms.
2011-01-24 * interp/g-opt.boot (optMkRecord): Generate %makepair forms.dos-reis1-0/+3
($VMsideEffectFreeOperators): Include %listlit and %veclit. * interp/g-util.boot: Translate them.
2011-01-24 * algebra/array1.spad.pamphlet: Use %aref instead of %vref.dos-reis1-1/+2
* interp/g-opt.boot (optSETRECORDELT): Tidy code generation. (optRECORDCOPY): Likewise. (optRECORDELT): Likewise. ($VMsideEffectFreeOperators): Include %aref. Translate.
2011-01-03 * interp/g-util.boot: Expand new bit vector operators.dos-reis1-0/+52
* interp/g-opt.boot (opt2bit): New. (opt2bool): Likewise. * interp/bits.lisp (BVEC-SIZE): Remove. (BVEC-COPY): Likewise. (BVEC-CONCAT): Likewise. (BVEC-EQUAL): Likewise. (BVEC-AND): Likewise. (BVEC-OR): Likewise. (BVEC-XOR): Likewise. (BVEC-NAND): Likewise. (BVEC-NOR): Likewise. (BVEC-NOT): Likewise. * algebra/boolean.spad.pamphlet (IndexedBits): Remove uses of Lisp-level functions.
2011-01-02 * interp/nrunfast.boot (evalSlotDomain): Expand to VM forms beforedos-reis1-4/+10
value argument evaluation. (lazyMatch): Check for %llength too. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %2bit and %2bool. * interp/g-util.boot: Expand them. * interp/define.boot (compJoin): Check for %llenght too. * algebra/boolean.spad.pamphlet: Tidy. * algebra/domain.spad.pamphlet: Likewise. * algebra/draw.spad.pamphlet: Likewise. * algebra/files.spad.pamphlet: Likewise. * algebra/list.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/sex.spad.pamphlet: Likewise. * algebra/sf.spad.pamphlet: Likewise.
2011-01-02Remove uses of SETF in Boot codesdos-reis1-1/+1
2010-12-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %cup anddos-reis1-9/+19
%cdown. * interp/g-util.boot: Expand them. * interp/vmlisp.lisp (QESET): Remove. * algebra/string.spad.pamphlet (String): Don't use QESET.
2010-12-31 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis1-0/+13
builtin functions %strlt, %streq, %strcopy, and %strconc. * interp/g-util.boot: Expand them. * algebra/string.spad.pamphlet (String): Remove uses of Lisp-level functions CHAR, EQUAL, CHAR=, ans SXHASH.
2010-12-30more string cleanupsdos-reis1-13/+20
2010-12-30 * interp/vmlisp.lisp (QSTRING): Remove.dos-reis1-0/+1
(QSTRINGLENGTH): Likewise. (STRINGLENGTH): Likewise. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %i2s. * interp/g-util.boot: Expand it. * interp/debug.lisp (/LOCATE): Replace STRINGLENGTH with LENGTH. * algebra/fortran.spad.pamphlet: Don't use STRINGIMAGE from Lisp. * algebra/generic.spad.pamphlet: Likewise. * algebra/naalg.spad.pamphlet: Likewise. * algebra/naalgc.spad.pamphlet: Likewise. * algebra/outform.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise.
2010-12-29 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %strlength.dos-reis1-5/+6
* interp/g-util.boot: Expand it. * algebra/string.spad.pamphlet (String): Remove use of QCSIZE.
2010-12-29SUBSTRING cleanupdos-reis1-3/+3
2010-12-28Character constants clean updos-reis1-5/+5
2010-12-28Clean updos-reis1-1/+1
2010-12-19 * interp/vmlisp.lisp (VECP): Remove.dos-reis1-2/+2
(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.
2010-12-12Clean symbol vs. character vs. string confusiondos-reis1-1/+1
2010-12-10cleanupdos-reis1-57/+0
2010-12-07 Add support for exception handling.dos-reis1-1/+36
* interp/parsing.lisp (TEST-LEXING): Remove. (RTRACE): Likewise. (RUNTRACE): Likewise. (MATCH-ADVANCE-KEYWORD): New. (MATCH-ADVANCE-GLYPH): Likewise. (MATCH-ADVANCE-SPECIAL): Likewise. (MATCH-SPECIAL): Likewise. (MATCH-KEYWORD-NEXT): Likewise. * interp/newaux.lisp: Make try and throw prefix operators. * interp/metalex.lisp (KEYWORDS): Include finally, catch and throw. * interp/fnewmeta.lisp (PARSE-Throw): New. Parse throw-expressions. (PARSE-Catch): New. Parse catch-expressions. (PARSE-Finally): New. Parse finally-expressions. (PARSE-Try): New. Parse try-expressions. * interp/compiler.boot (compThrow): New. Register to compile throw-expressions. (compTry): New. Register to compiler try-expressions. (compCatch): New. Compile catch-handler expression. * interp/g-opt.boot (optTry): New. Simplify simple expressions in the try operand. * interp/g-util.boot (expandThrow): New. Expand %throw forms. (domainMatchCode): New. (expandTry): New. Expand %try forms. * doc/msgs/s2-us.msgs: Add new message with key S2GE0020. * interp/g-error.boot (systemErrorHandler): Handle possible uncaucght expression condition.
2010-11-16 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %s2cdos-reis1-3/+22
builtin. * interp/g-util.boot (stringToChar): New. (expandCst): Use it. (expandS2c): Likewise. New. * interp/spad.lisp (|$Newline): Move to interp/sys-macros.lisp. * interp/sys-macros.lisp (|$Backspace): New. (|$HorizontalTab|): Likewise. (|$VerticalTab|): Likewise. (|$FormFeed|): Likewise. (|$CarriageReturn|): Likewise. * algebra/string.spad.pamphlet (Character) [newline]: New. [carriageReturn]: Likewise. [linefeed]: Likewise. [formfeed]: Likewise. [backspace]: Likewise. [horizontalTab]: Likewise. [verticalTab]: Likewise. [char]: Tidy.
2010-07-29 * algebra/sf.spad.pamphlet (DoubleFloat): Use builtindos-reis1-0/+17
trigonometric functions. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include them. * interp/g-util.boot: Expand them. * include/edible.H1: Move declarations to clef/edible.c. Remove. * driver/utils.h: Give G linkage to declarations. * sman/Makefile.in: Link programs against C++ runtime.
2010-07-28 * interp/spad.lisp (DIVIDE2): Remove.dos-reis1-1/+1
* interp/vmlisp.lisp (QSQUOTIENT): Likewise. (QSREMAINDER): Likewise. * interp/buildom.boot: Use quo and rem in leur of QUOTIENT and REMAINDER or variants. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-output.boot: Likewise. * interp/incl.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/topics.boot: Likewise.
2010-07-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis1-0/+5
* interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-28 * algebra/integer.spad.pamphlet (Integer): Use builtin functionsdos-reis1-11/+13
%irem and %iquo. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-27Misc cleanupdos-reis1-7/+7