<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Aug 28, 2008, at 4:22 PM, Brent Fulgham wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><br><div class="gmail_quote">On Thu, Aug 28, 2008 at 3:18 AM, Gary Byers <span dir="ltr"><<a href="mailto:gb@clozure.com">gb@clozure.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div class="Ih2E3d">I suspect (I don't know for sure) that the thing that'd help most<br></div> people the most in getting up to speed with using Cocoa in CCL is<br> comfort and familiarity with CCL's FFI. If that's true (and to the<br> extent that it is), it's somewhat unfortunate; when he first started<br> working on it, Randall Beer said that ideally he'd like the bridge to<br> expose as much of Cocoa as possible while hiding as much of ObjC as<br> possible. It's gotten closer to that goal over the years, but I<br> suspect that a lot of things that people have trouble with could<br> be blamed on the fact that ObjC (and some of the arcana of dealing<br> with it) still isn't hidden well enough.</blockquote><div><br></div><div>Of all the language embeddings/FFI's I've worked with, I think that Clozure CL's</div><div>implementation is the easiest I've worked with. When getting started on the</div> <div>Open Agent Engine port, it was pretty amazing how simple (and straightforward)</div><div>it was to translate a snippet of Objective C code from Apple's documentation</div><div>into something that would work in CCL.</div> <div><br></div><div>The only 'complaint' or suggestion I would have regarding the FFI would be to</div><div>make it easier to generate the CDB files. This is generally easy, but in some</div><div>cases (especially with the release of Leopard with the new ObjC 2.0 syntax)</div> <div>it requires some clever declarations to ignore various things that Lisp doesn't</div><div>care about.</div><div><br></div><div>Perhaps you ship the FFI generator with Clozure; previously this had to be</div><div> obtained from Gary or others (perhaps a valid first step in embarking on the</div><div>journey of accessing foreign data -- you will probably be chatting with Gary at some</div><div>point!)</div><div><br></div><div>I wish other Lisp's had Clozure's FFI facilities. Well, actually I don't really care</div> <div>since I don't use them. ;-P</div><div><br></div></div></div></blockquote><div><br></div>Well I do use them, especially sbcl. What is so different about the Clozure FFI than say UFFI or other efforts? Since this is Open Source is there an effort to make this FFI, if that superior, available to other Lisps?</div><div><br></div><div>- samantha</div></body></html>