This is something I originally posted on my Jazz Blog, but I’m reposting it here because, as you will figure out pretty quickly, it belongs in here as much as in my Jazz website…
Sep 8, 2008
A whole bunch of CCL Cocoa coding involves calls to Objective-C methods. For instance, the following Objective-C code: [cell drawWithFrame: frame inView: view]; will translate into this in CLL: (#/drawWithFrame:inView: cell frame view) Indeed, Objective-C is designed around the record-based model (methods belong to classes), so the cell object receives the drawWithFrame:inView: message via its Smalltalk descendant syntax. On the other hand, the Lisp translation involves a generic function call with the usual funcall syntax. The dispatch occurs on the first argument (the cell), and the rest is actual arguments to the message.
Jul 1, 2008