On Saturday, November 23, 2002, at 07:09 AM, John Morrison wrote:
> > Hi; > > On Saturday 23 November 2002 08:24 am, Harald Hanche-Olsen wrote: >> Just do >> >> #+cmucl (import 'cl::backq-list*) >> >> in the file name jm-package. The #+cmucl is there to remind you that >> this is quite non-portable. Maybe you should also add >> >> #-cmucl (error "Non-portable code. Requires CMUCL.") >> >> in case someone ever tries running it under another lisp. > > Thanks! I shall do that straightaway. > Is your code reinterning symbols found during processing? > However, whenever I find myself running into a situation such as I > described (effectively unable t This is hard for all sorts of reasons. Simple recursive macroexpansion shouldn't be too bad. Under ANSI rules you shouldn't run into magic special forms that you can't deal with, though you may encounter magic functions. One of the harder things to deal with is backquote; an implementation has a lot of latitude to return anything it wants as long as it gives the proper results at run time. Even Common Lisp compilers like SBCL load their own backquote implementations into the host Lisp so they know what's going on. As your language departs from CL it gets even harder. > hackery going on (generating finite state machines from "rules" in the > input grammar), the forms in the input file are not simple extensions > to CL (via defmacro), but are actually input using "read" (rather than > defmacro and load), and then merged, processed, etc. > > Thanks again for the help! > > -jm >
