<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">&lt;<a href="mailto:gb@clozure.com">gb@clozure.com</a>&gt;</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. &nbsp;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. &nbsp;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. &nbsp;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. &nbsp;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. &nbsp;Well, actually I don't really care</div> <div>since I don't use them. &nbsp;;-P</div><div><br></div></div></div></blockquote><div><br></div>Well I do use them, especially sbcl. &nbsp;What is so different about the Clozure FFI than say UFFI or other efforts? &nbsp;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>