Re: more bugs in openmcl
Gary Byers <[email protected]> Fri, 4 Nov 2005 09:22:55 -0700 (MST)
| Newsgroups | gmane.lisp.openmcl.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 4 Nov 2005, [ISO-8859-1] Faré wrote: > Hum. Trying exscribe with openmcl, I found that > > * compile-file-pathname doesn't seem to be set properly during compilation. > (defvar *x* #.compile-file-pathname) will compile to nil. > This is annoying for many programs (including exscribe and cl-pdf) > that try to find at runtime the place where the program was initially > compiled and holds auxiliary files. In Common Lisp, the variable which holds the pathname of the file being compiled is named *COMPILE-FILE-PATHNAME* (e.g., with surrounding asterisks.) The symbol COMPILE-FILE-PATHNAME (without asterisks) is also exported from the CL package; it has a standard function definition, but no variable definition (so your example would ordinarily yield an UNBOUND-VARIABLE error.) I'd ordinarily assume that there's just a typo in your example and that you intended to reference *COMPILE-FILE-PATHNAME*, but I'm not aware of any case where *COMPILE-FILE-PATHNAME* would be set to or bound to NIL by the implementation during file compilation. > > * Your implementation of backquotes doesn't work correctly in presence > of unquote-splicing. I won't cast any stone, since I realized the same > failure in my own implementation of quasiquote: it's easy enough to > have a stupid implementation that does lots of append's, but it's less > easy to do simplifications that do not break in presence of > unquote-splicing. > > Example, simplified from a very useful macro I use in exscribe: > > (defparameter *c '((list :x x) (list :y y))) > > ``(f ,@,@*c) > > I suppose you should steal the implementation from clisp or from > cmucl... they both work correctly. There's also Steele's 1985 reference implementation, which is about as old as OpenMCL's. Steele's implementation yields the behavior that you expect; I'm not yet sure whether fixing this case is best done by using that code or ... simply fixing this case. > > [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] > I am an atheist, thank God! > > You never subscribed to the bug-openmcl mailing list, so this and any other messages that you may have sent to that address were tossed out with the spam; as I explained earlier, I can't wade through the spam looking for on-topic messages from non-subscribers, because there's just too much spam and not enough time. I added you to a mailing list filter that allows you to send messages from this address without subscribing, so hopefully neither of us will have to waste further time on this. _______________________________________________ Bug-openmcl mailing list [email protected] http://clozure.com/mailman/listinfo/bug-openmcl