On Fri, Feb 18, 2011 at 9:40 PM, Cyrus Harmon ch-lisp@bobobeach.com wrote:
Forgive me if you've heard me rant about this before, but there is a mutual incompatibility between CLX, trivial-features (which, for me at least, gets pulled in whenever I try to use CFFI) and SBCL. The problem is that trivial-features puts :little-endian on *features* and CLX has the following code in defdeps.lisp:
#+(or lispm vax little-endian Minima) (eval-when (eval compile load) (pushnew :clx-little-endian *features*))
trivial-features is a bit impolite about pushing :little-endian to *features*. In my defense, one of the design goals of trivial-features is to effortlessly disappear over time. I.e., at some point in the future Lisps will have agreed on what keywords to use, and trivial-features will be a no-op or removed altogether without changes to code that uses it. As such, my decision was to use the same keywords that are in widespread use and make minimal adjustments to provide consistency across Lisps.
Perhaps if we can sneak a :little/big-endian feature into SBCL proper, the CLX fix will become inevitable and we'll be a tiny bit closer to achieving trivial-features' goal? :-)
Cheers,