From: Luigi Panzeri
Subject: [announce]: CL-ObjC 1.0 released
Date: 
Message-ID: <1192587180.623900.312820@v29g2000prd.googlegroups.com>
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 and CLOSER-MOP.

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/

From: ········@gmail.com
Subject: Re: : CL-ObjC 1.0 released
Date: 
Message-ID: <1192674604.703096.89850@y27g2000pre.googlegroups.com>
On Oct 16, 10:13 pm, Luigi Panzeri <········@gmail.com> wrote:
> Hi,
>
> i am glad to announce the first release of CL-ObjC.

This looks awesome!  There are a few ObjC bridges out there particular
to various distributions but having one implemented in Common Lisp
that could work across distributions is truly neat!

Thanks for the work you put into this!  Will definitely strongly
consider this the next time I need to write something with a GUI in
Mac OS X.

 -jimbo
From: Matthias Benkard
Subject: Re: [announce]: CL-ObjC 1.0 released
Date: 
Message-ID: <1192698831.262077.60500@y27g2000pre.googlegroups.com>
Hi,

I have to admit it looks nice.  And that's despite me having been
working on a portable ObjC bridge for the last few weeks, too.  How
about joining forces, maybe even a merger?  My Objective-C bridge has
the advantage of working on both GNUstep and Mac OS X, but yours seems
more complete.  Particularly, mine can't define classes, and I don't
have equivalents to the utilities you describe in section 2.5 of the
reference manual.

You can find the code here: http://matthias.benkard.de/code/objective-cl

The reference docs are here: http://matthias.benkard.de/objective-cl/documentation

At the moment, it's released under the GPL, but that's not set in
stone.  (I decided to release it under the GPL for now because it's
the most restrictive license I considered, so I'd have time to think
about the licensing.)

~ Matthias
From: Rainer Joswig
Subject: Re: [announce]: CL-ObjC 1.0 released
Date: 
Message-ID: <joswig-17F113.12362618102007@news-europe.giganews.com>
In article <·······················@y27g2000pre.googlegroups.com>,
 Matthias Benkard <··········@gmail.com> wrote:

> Hi,
> 
> I have to admit it looks nice.  And that's despite me having been
> working on a portable ObjC bridge for the last few weeks, too.  How
> about joining forces, maybe even a merger?  My Objective-C bridge has
> the advantage of working on both GNUstep and Mac OS X, but yours seems
> more complete.  Particularly, mine can't define classes, and I don't
> have equivalents to the utilities you describe in section 2.5 of the
> reference manual.
> 
> You can find the code here: http://matthias.benkard.de/code/objective-cl
> 
> The reference docs are here: 
> http://matthias.benkard.de/objective-cl/documentation
> 
> At the moment, it's released under the GPL, but that's not set in
> stone.  (I decided to release it under the GPL for now because it's
> the most restrictive license I considered, so I'd have time to think
> about the licensing.)
> 
> ~ Matthias


That's at least number five.


There are:

* LispWorks' Objective C Bridge
* OpenMCL's Objective C Bridge
* CL-ObjC
* An unpublished Objective C Bridge for SBCL I saw
* Yours'


I would be nice if there would be some 'standard'.


Here is the documentation for OpenMCL's Objective-C bridge

http://openmcl.clozure.com/Doc/index.html#The-Objective_002dC-Bridge


There is also Mikel Evins' "application template' Bosco:
ftp://clozure.com/pub/testing/bosco-0.8.tar.gz


Here is a comparison of LispWorks' and OpenMCL's Objective-C
bridges:

http://mactom.com/mactom.main/?section=Software&subsection=Common+Lisp&pa
ge=OpenMCL
From: Matthias Benkard
Subject: Re: [announce]: CL-ObjC 1.0 released
Date: 
Message-ID: <1192705463.090319.53510@q5g2000prf.googlegroups.com>
> I would be nice if there would be some 'standard'.

Definitely, but personally, I won't accept as a standard anything that
does not support GNUstep, as that's my primary target platform. :)

As long as nobody else supports GNUstep, I won't give Objective-CL up.

~ Matthias
From: Luigi Panzeri
Subject: Re: : CL-ObjC 1.0 released
Date: 
Message-ID: <1192717302.058668.272020@i13g2000prf.googlegroups.com>
Rainer Joswig <······@lisp.de> writes:
> That's at least number five.
>
>
> There are:
>
> * LispWorks' Objective C Bridge
> * OpenMCL's Objective C Bridge

The first two are not portable. The aims of CL-ObjC is to be a free
software bridge portable among Common Lisp implementations (using
portable libraries/code) and (why not) platforms.

Furthermore CL-ObjC API is largely inspired by the ones provided by
Lispworks and OpenMCL, so it is not difficult to port code written for
them to CL-ObjC.

> * CL-ObjC

> * An unpublished Objective C Bridge for SBCL I saw
> * Yours'
>

There are a lot of unpublished Objective C bridge, i know. Each one i
saw lacks some features.

CL-ObjC now is published and ready to use. i hope no one will have to
develop another "unpublished" objc bridge because it is possible to
just hack and improve one publicly provided (with examples, testcases,
documentation, tutorial and other stuff that people generally
complaint about the lack of).
From: Luigi Panzeri
Subject: Re: : CL-ObjC 1.0 released
Date: 
Message-ID: <1192715103.700923.154890@q3g2000prf.googlegroups.com>
> I have to admit it looks nice.  And that's despite me having been
> working on a portable ObjC bridge for the last few weeks, too.  How
> about joining forces, maybe even a merger?  My Objective-C bridge has

Thanks. I have known about 3 or 4 other efforts to build a bridge to
ObjC in the last 2 months. It was a pity that we couldn't join forces
before, maybe due to a lack of communication (also my fault), but now
we can :-)

I think that a merge with your and other works is possible. Whatever
we ll do (a merge, two different or another new bridge) i think we can
discuss about it on the cl-objc-devel mailing list on common-lisp.net
(http://common-lisp.net/mailman/listinfo/cl-objc-devel)

> the advantage of working on both GNUstep and Mac OS X, but yours seems
> more complete.  Particularly, mine can't define classes, and I don't
> have equivalents to the utilities you describe in section 2.5 of the
> reference manual.
>

I like the idea to have an objc bridge working on more platforms and
Common Lisp implementations.

Furthermore i think that some decisions i made about the internal of
cl-objc can be discussed. Your code provides less features but it
looks interesting to me for some aspects.


--
Luigi Panzeri aka Matley

Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Quotes on Lisp: http://lispers.org/