Re: ffi dependent packaqes
Christophe Rhodes <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Jun 22, 2002 at 11:14:19AM -0400, John DeSoi wrote: > Hi Christophe, > >I'm no expert, but I have worries about uffi's long-term viability in > >its current state. I think my position on compatibility layers might be > >causing me to be overly harsh, but I don't think that a solution to lack > >of standardization is to take the current intersection of the > >feature-sets and make it work on 32-bit platforms... > > Could you provide a little more background on why you feel this way > about UFFI? I realize it is not a perfect solution, but I don't see > any other efforts aimed at unifying Lisp FFI. A consistent way to > access external libraries is a big detriment to Lisp. Are there any > better alternatives? Firstly, let me say that I don't know of any better alternatives. Secondly, let me say that the last thing I want to do is to stop people from writing and exploring new code. There are one or two "surface" things that stop me from liking uffi; let me start with the most trivial first: some naming (yes, sorry :-). This one's probably not an issue for some people, but I have a real problem with DEF-TYPE and DEF-CONSTANT and DEF-STRUCT, because they are pronounced the same as the CL macros DEFTYPE, DEFCONSTANT and DEFSTRUCT. Told you that was trivial, but I generally think "audially" (though not "audibly" :) so it's an annoyance. Here's a somewhat more fundamental problem: :long - Signed 32-bits. :unsigned-long - Unsigned 32-bits. There exist several platforms *today* where this isn't true, or, rather, isn't useful. I should say, though, that since at present I'm not involved in writing any code that deals with foreign stuff I should be left on the side. My other main concern reflects the fact that I come a little bit from a "cathedral" mentality: there doesn't seem to be any justification that I can find for the UFFI way of doing things other than "it works". While that's laudable in itself, it shouldn't mean that UFFI becomes a defacto standard (except for alphas, and openmcl, and clisp) just because of that, in much the same way that I don't think the Allegro URI library should or (shudder) clocc-port should. I'll go back to trying to make sbcl's arrays less lamentable. Cheers, Christophe -- Jesus College, Cambridge, CB5 8BL +44 1223 510 299 http://www-jcsu.jesus.cam.ac.uk/~csr21/ (defun pling-dollar (str schar arg) (first (last +))) (make-dispatch-macro-character #\! t) (set-dispatch-macro-character #\! #\$ #'pling-dollar) ------------------------------------------------------- Sponsored by: ThinkGeek at http://www.ThinkGeek.com/