[cl-objc-devel] Announce: CL-ObjC 1.0

Luigi Panzeri matley at muppetslab.org
Wed Oct 17 01:59:46 UTC 2007


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/



More information about the Cl-objc-devel mailing list