aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
AgeCommit message (Collapse)AuthorFilesLines
2011-05-02 * boot/ast.boot (idList?, charList?, stringLits?): New.dos-reis1-0/+24
(bfMember): Use them for special cases. * boot/parser.boot (bpDefinition): Stop support MDEF forms. (bpMdef, bpMDefTail): Remove. * boot/tokens.boot: "==>" is no longer a token.
2011-05-01 * interp/buildom.boot: Replace use of EQSUBSTLIST with applySubst.dos-reis1-1/+1
* interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/hashcode.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/modemap.boot: Likewise. * interp/rulesets.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-macros.lisp (APPLYR, TAILFN, TAIL, rplac): Remove as unused.
2011-05-01 * boot/tokens.boot: Don't rename append.dos-reis1-10/+12
* boot/parser.boot (bpTyping): Support universally quantified types. * boot/ast.boot: Rewrite APPEND as append. (%Forall): New AST node. * boot/translator.boot: Translate it.
2011-04-30 * boot/ast.boot (bfAppend): Write in full.dos-reis1-3/+10
* interp/ptrees.boot (pfAppend): Likewise.
2011-04-30more cleanupdos-reis1-59/+59
2011-04-30 * interp/vmlisp.lisp (remove): Remove.dos-reis1-3/+3
(REMOVEQ, NREMOVEQ): Likewise. * boot/utility.boot (removeSymbol, removeScalar, removeValue) (remove): New. * boot/ast.boot (bfMDef): Use applySubst in lieu of SUBLIS.
2011-04-28more cleanupdos-reis1-74/+77
2011-04-28 * boot/ast.boot (bfReduceCollect): Delegate to bfDoCollect ifdos-reis1-0/+2
op is append or append!.
2011-04-28 * boot/ast.boot (bfCollect): Use bfDoCollect.dos-reis1-9/+3
(bfListReduce): Remove.
2011-04-27 * boot/ast.boot (bfMakeCollectInsn): Fix thinko.dos-reis1-2/+4
2011-04-25 * boot/translator.boot (inAllContexts): New.dos-reis1-1/+1
(translateToplevel): Use it. * boot/parser.boot (bpImport): Accept namespace import.
2011-04-24 * boot/initial-env.lisp (MEMQ): Remove.dos-reis1-26/+23
* boot/ast.boot (shoeATOMs): Don't use it. (isDynamicVariable): Likewise. (shoeCompTran1): Likewise. * boot/translator.boot (defuse1): Likewise.
2011-04-24Tidy append redunctiondos-reis1-1/+4
2011-04-24 * boot/ast.boot (bfMakeCollectInsn): New.dos-reis1-5/+12
(bfDoCollect): Tidy.
2011-04-24 * boot/ast.boot (bfDoCollect): New. Implement one-pass dos-reis1-1/+10
list comprehension. (bfListReduce): Use it.
2011-04-23 * boot/ast.boot (bf0APPEND): Remove.dos-reis1-13/+2
(bf0COLLECT): Likewise. (bfCollect): Tidy.
2011-04-23 * lisp/core.lisp.in: Export basic types and compiler data types.dos-reis1-63/+50
* 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-1/+1
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2011-04-21 * boot/utility.boot (objectMember?): Don't rely non tail recursiondos-reis1-5/+5
removal. (reverse): Define. * boot/tokens.boot: Don't rename reverse anymore. * boot/ast.boot: Generate reverse forms instead of REVERSE.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-9/+9
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-20 * interp/sys-utility.boot (substitute): Define.dos-reis1-1/+3
(substitute!): Likewise. * boot/utility.boot: Do not rely on tail recursion removal. * boot/tokens.boot: Don't translate substitute and substitute!. * boot/ast.boot (bfLp1): Tidy.
2011-04-20more cleanupdos-reis1-3/+6
2011-04-19 * boot/tokens.boot: charUpcase, charDowncase, stringUpcase,dos-reis1-4/+10
singDowncase, valueEq? are new builtin functions. * boot/ast.boot (bfMembr): Tidy.
2011-04-19 * interp/newfort.boot: Likewise.dos-reis1-1/+1
* interp/define.boot (orderBySubsumption): Fix thinko. * interp/boot-pkg.lisp: Use BOOTTRAN package. Don't import names individually. * boot/utility.boot: New. * boot/translator.boot (exportNames): Fix thinko. * boot/tokens.boot: Add charEq? and scalarEq? builtiin functions. * boot/ast.boot (bfMember): Generate call to symbolMember? for membership tests for symbols.
2011-04-19 * boot/ast.boot (%Module): Now take three arguments.dos-reis1-1/+1
* boot/parser.boot (bpModuleInterface): Rename from bpExports. (bpModuleExports): New. (bpModule): Now allow specification of exported names.
2011-04-18cleanupdos-reis1-4/+4
2011-04-16cleanupdos-reis1-3/+3
2011-02-25 * boot/tokens.boot: makeSymbol is not a builtin function.dos-reis1-19/+19
* 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.
2010-12-30more string cleanupsdos-reis1-2/+2
2010-12-30more char cleanupdos-reis1-1/+1
2010-12-29More character cleanupdos-reis1-2/+2
2010-12-29(no commit message)dos-reis1-1/+3
2010-12-28more cleanupdos-reis1-6/+15
2010-12-27 * boot/initial-env.lisp (IDENTP): Remove.dos-reis1-16/+17
* boot/ast.boot: Replace IDENTP with symbol? where appropriate. * boot/parser.boot: Likewise. * boot/translator.boot: Likewise.
2010-12-18 * boot/initial-env.lisp (SIZE): Remove.dos-reis1-1/+1
(MAKE-VEC): Likewise. (MAKE-CVEC): Likewise.
2010-12-14 * boot/ast.boot (bfQ): Emit STRING= for string comparison.dos-reis1-0/+1
* interp/i-output.boot: Fix type violation in equality comparison.
2010-12-12 * boot/ast.boot (bfIS1): Tidy.dos-reis1-1/+1
2010-12-12 * boot/ast.boot (bfIS1): Tidy.dos-reis1-2/+3
2010-12-11 * boot/tokens.boot: `finally' is now a keyword.dos-reis1-2/+2
* boot/parser.boot (bpMissing): Use a BootParserException exception. (bpTrap): Likewise. (bpListAndRecover): Catch them. * boot/parser.boot (shoeOutParse): Likewise. * boot/ast.boot (bfHandlers): Fix thinko. (codeForCatchHandlers): Likewise.
2010-12-11 * boot/parser.boot (bpListAndRecover): Use Lisp-level CATCH.dos-reis1-10/+39
(bpTry): Rewrite. (bpTry): Likewise. (bpSimpleCatch): Remove. (bpPiledCatchItems): Likewise. (bpCatchItemList): Likewise. (bpExceptionHead): Likewise. (bpExceptionTail): Likewise. (bpExceptionVariable): New. (bpFinally): Likewise. * boot/ast.boot (%Ast): Add %Pretend and %Finally. %Catch now takes two arguments. (bfTry): Rewrite. (bfThrow): Likewise. (bfHandlers): New. (codeForCatchHandlers): Likewise. * boot/translator.boot (shoeOutParse): Use Lisp-level CATCH.
2010-12-11Clean updos-reis1-7/+7
2010-12-11 * boot/ast.boot (bfMmeber): Tidy.dos-reis1-4/+4
* interp/alql.boot: Clean up. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/format.boot: Likewise. * interp/g-error.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/mark.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/trace.boot: Likewise.
2010-12-10(no commit message)dos-reis1-4/+8
2010-12-10Cleanupdos-reis1-1/+1
2010-05-28 Add support for 'property' builtin function.dos-reis1-0/+4
* interp/g-timer.boot: Rename property to prop to avoid conflict. * boot/parser.boot (bpAssignLHS): Allow functional places to assign to. * boot/ast.boot (bfPlace): New. (bfAssign): Handle %Place forms. * boot/tokens.boot: property is now translated to GET.
2010-05-23 * boot/tokens.boot: gensym is now candidate for renaming.dos-reis1-7/+7
* 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-22 * interp/cparse.boot (npQuiver): Redefine. Now send Applicationdos-reis1-29/+29
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.
2010-05-19 * boot/ast.boot: Add %Leave ast node.dos-reis1-1/+4
(bfLeave): New. * boot/parser.boot (bpLeave): Use it.
2010-05-15 * boot/ast.boot (shoeCompTran1): Handle %Leave expressions.dos-reis1-0/+1
* boot/parser.boot (bpReturn): Parse leave-expressions too. * interp/mark.boot (markInsertBodyParts): properly escape Boot keywords.
2010-05-10 Add lambda expression syntax to Boot.dos-reis1-0/+8
* 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.