This HOWTO guide explains how to use Clozure CL (formerly OpenMCL) to create a Cocoa application that is functionally identical to Apple's Currency Converter example. The most important difference between Apple's example and this one is that this one is implemented in Common Lisp instead of Objective-C. It uses Clozure CL's Objective-C bridge to provide communication between the Lisp code that you write and Apple's Cocoa frameworks. The resulting application looks and acts just like any other Cocoa application.
This HOWTO doesn't discuss all the background information that Apple's tutorial covers. Instead, we assume that you have Apple's document handy for reference, and we just describe the specific steps needed to build the example using Apple's InterfaceBuilder application and Clozure CL.
An observant programmer will look at the code in this example and say, "well, that's trivial! Why create all those classes and connections and so forth just to perform a multiplcation?" That observation is correct: the actual work done by the Currency Converter application is trivial—both in the Lisp and the Objective-C versions. The point of this example (and Apple's) is not to show you how to perform a multiplication. The point is to show you how Apple's frameworks implement and support the Model-View-Controller paradigm, and how you can use that support to build Cocoa applications. In fact, the work done by the application is intentionally trivial, to emphasize the frameworks rather than the particulars of the application.
This HOWTO has the additional purpose of showing you how Clozure CL makes it possible to do exactly the same thing in Lisp that you can do with Objective-C, so that you will understand how to use Lisp with Apple's frameworks.
The current version of the Clozure CL Objective-C bridge includes code that was formerly distributed separately as the "Bosco" application framework. Because that framework has been integrated with Clozure CL proper, it no longer exists as a separate project.