<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>-Brent</div></div><br></div>