From matley at muppetslab.org Wed Oct 17 02:04:39 2007 From: matley at muppetslab.org (Luigi Panzeri) Date: Wed, 17 Oct 2007 02:04:39 -0000 Subject: [cl-objc-announce] Announce: CL-ObjC 1.0 Message-ID: Hi, i am glad to announce the first release of CL-ObjC. CL-ObjC is a Common Lisp library to allow developers to use libraries written in the Objective C language, providing a lisp-like interface towards Objective C conventions. CL-ObjC tries to be portable between Common Lisp implementations using CFFI to let the user use a Common Lisp system with XCode. You can get it from: http://www.common-lisp.net/project/cl-objc/cl-objc.tar.gz or from the darcs repository at http://www.common-lisp.net/project/cl-objc/darcs/cl-objc More info can be found on the project web site: http://www.common-lisp.net/project/cl-objc and in the documentation and API reference pdf (also available in info format): http://www.common-lisp.net/project/cl-objc/cl-objc.pdf Current Features: * Lisp-like interface to send messages and create ObjC classes and methods. E.g. (let ((new-string (invoke 'ns-string alloc))) (invoke new-string :init-with-utf8-string "ciao")) (define-objc-class bank-account ns-object ((amount :float) (currency currency-type))) (define-objc-method withdraw ((self bank-account) (withdraw :float)) (with-ivar-accessors bank-account (decf (amount self) withdraw) self)) * CLOS bindings to have ObjC objects and classes like CLOS objects. E.g. (let ((new-string (make-instance 'objc:ns-string))) (init-with-utf8-string? new-string "ciao")) * A Reader Macro to mix ObjC and Common Lisp syntax * Examples and test cases to show the use of CL-ObjC with XCode * CFFI interface with foreign translators and ObjC struct management CL-ObjC has been tested only on MacOSX/x86 platform with sbcl 1.0. Some users reported privately that CL-ObjC works fine with Allegro 8.1. Feedbacks and comments are welcome :-) -- Luigi Panzeri aka Matley Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film Quotes on Lisp: http://lispers.org/