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