![](https://secure.gravatar.com/avatar/2f7ec3b37425cf4e077e7ef376e451be.jpg?s=120&d=mm&r=g)
Hi, Pascal Bourguignon's proposed patch to src/strings.lisp adds #+clisp, #-clisp to the source. (cf. mailing archives from Mid-November). I noticed the wide lack of such #+implementation-specific code in the CFFI sources. I like it, but it's limited. I would like to ask what are your thoughts on integration of such code? I.e., there are a few places (e.g. in strings.lisp) where the CLISP version could clearly benefit from specific code. One of the typical improvements is to get rid of (loop ... do mem-ref #) to copy array contents elementwise and have the FFI built-ins handle them (using native loops). Remember, LOOP compiles to byte code, not tight memcpy()-like code that CMUCL can achieve. BTW, what happened to the proposed block memory interface? The general idea is that while the low-level API is fine, as it is currently split across each implementation in cffi-xyz.lisp, there's also a need for high-level implementation-specific optimizations. Remember, as Peter Norvig said, a Lisp compiler is not going to help optimizing a Prolog compiler implemented in Lisp. Prolog needs its own optimizations. Same for FFI code. Regards, Jörg Höhle.