thephoeron / let-over-lambda

Doug Hoyte's "Production" version of macros from Let Over Lambda, ready for ASDF and Quicklisp.
Other
134 stars 25 forks source link

Does not build with SBCL 1.2.2 #1

Closed quicklisp closed 10 years ago

quicklisp commented 10 years ago

I get this:

http://report.quicklisp.org/let-over-lambda/2014-08-12/failtail.txt

thephoeron commented 10 years ago

I was afraid this would happen, with the internal changes made in 1.2.2; I'm still using 1.2.0-1—the latest in the Arch repos—so I haven't been able to test for this yet, but it looks to be what I expected.

When would you like this fixed by, for the next Quicklisp release?

quicklisp commented 10 years ago

I'm hoping to make a release in a few days, on Saturday or Sunday.

thephoeron commented 10 years ago

Ok! I'll work on this today.

thephoeron commented 10 years ago

The suggestion on Reddit by vi111 didn't seem to fix the problem (re: commit cccfefadab3152021a419ca14a08560c7e08bf07), so I've temporarily disabled DEFMACRO! and related code until a better solution can be found. I will leave this issue open until then.

Does it build for you now?

fare commented 10 years ago

If for some reason you really need a traditional backquote that expands to lists only, try fare-quasiquote: it's based on the previous SBCL implementation, just with the recently discovered bugs fixed (and an extensive test suite) rather than a reimplementation.

thephoeron commented 10 years ago

Thanks @fare, I'll check that out — I would like to keep the code as similar to Doug Hoyte's source as possible, since this lib is just meant as a reference implementation for readers of his book.

orivej commented 10 years ago

@thephoeron, the fix in cccfefa did not work because you test for sb-impl::comma, which is an atom, after you test for atom.

And it should be (rec (sb-impl::comma-expr x) acc) not (cons (sb-impl::comma-expr x) acc).

thephoeron commented 10 years ago

Thanks @orivej — that solved it.

@quicklisp: it should be good to go for the August Quicklisp release, full functionality restored.

orivej commented 10 years ago

Oops, #-safe-sbcl is also true under CCL and other Lisps where there is no SB-IMPL package!

thephoeron commented 10 years ago

Of course. Commit a202167629cb421cbc2139cfce1db22a84278f9f should do it.