[Openmcl-devel] [info-mcl] MCL 6.0 preview

Robert Goldman rpgoldman at sift.info
Tue Nov 9 12:07:46 PST 2010


On 11/9/10 Nov 9 -1:43 PM, Paul Krueger wrote:
> Robert,
> 
> Deja vu; seems like we've had similar discussions in the past ...
> 
> On Nov 9, 2010, at 11:44 AM, Robert Goldman wrote:
> 
>> Maybe when this is checked in, Paul and/or the Clozure gang can offer a
>> tutorial at an upcoming ILC!
> 
> I'll start with a TCLispers talk after I get it checked in. January? For those of you who don't want to come to Minneapolis just to hear me talk, they are typically recorded and made available to anyone. See the TCLispers web site: http://tclispers.org/.
> 
> I'd have to give an ILC presentation some thought. I'm not really trying to create a movement here, I mostly did this so I could use it myself and contributed it to save others from having to go through my learning curve. I really didn't appreciate exactly how long that learning curve would be.

A presentation would be cool, but a /tutorial/ would be Way Cool.  I
figure if you don't, there are enough people who think Cocoa + CL is the
bee's knees that someone ought to be willing to do this.  Would help
build CCL user population for sure!

> 
>>
>> But please don't assume that we all know IB and Objective C!  It's OK if
>> the tool is primarily for people who know Objective C --- a fully-lisp
>> approach is probably not realistic.
> 
> We're both old enough to have seen (and participated in) Lisp-only GUI approaches. There is a section early in my tutorial that explains in more detail why I think these inevitably fail. It's hard to use Cocoa objects without understanding enough Objective-C to use them effectively. But Objective-C is strongly reminiscent of Smalltalk, so if you had any exposure to that it shouldn't really be a big learning curve. It's not at all like C++, which I consider to be a gross abomination (and I used C++ myself as a developer for several years). Much of Objective-C is devoted to various data types and I have a substantial amount of code that automatically converts back and forth between those and Lisp types. Do you need to pass an NSDictionary object to some Objective-C method as an argument? No problem; you start with a Lisp hash table and make a Lisp call to get what you need. Is some Objective-C method returning an NSArray that you need to use in Lisp? Again, a simple Lisp func
tion call results in a Lisp list or array (your choice). I can't make using Cocoa totally transparent without falling into the trap of dooming my own code to obsolescence every time Apple has a new release. But I think I made a reasonable start on making it fairly easy for Lisp developers to use.
> 
> I should also point out that creating stand-alone applications involves understanding quite a bit about Apple application bundles; their structure and content. Although my GUI makes it fairly straightforward to create and manage those, inevitably developers will want to do something a little more complex that requires them to more directly manipulate things like the Info.plist or other bundle resource files.

I understand.  Even if you wanted a lisp-only solution (like me!), it's
not realistic to assume that the CCL community, small as it is, could
maintain one.  I accept that we must learn about the framework in its
native form.
> 
>>  But invite the rest of us to join you!
> 
> What sort of invitation did you have in mind? Once I put the source in my contrib directory it's freely available for anyone to use. I've used the MIT license for all source which is what the Cocotron people use and it is pretty liberal about the uses that people can make of it. If someone wants to port it to SBCL or Clojure or whatever, they have my blessing and I'll even answer questions if I can.

A little hand-holding.  Hence the tutorial idea.  Note that I'm not
saying that /you/ should necessarily do a tutorial, but that someone
might want to.  Maybe "evangelism" would have been a better term than
"invitation."

Looking forward to seeing your latest cool stuff!

Best,
r



More information about the Openmcl-devel mailing list