--- Frank Buss <[EMAIL PROTECTED]> wrote:

> I think instead of using wxCL it would be interesting to use 
> the low-level Windows GDI functions and built some framework
> on top of this. 

Agreed.  Dan Stanger has the beginnings of code to do this in Clisp, I
think called gdi.  I think the correct long term course for "pure" lisp
graphics is to create cl-gdi which will be to Windows what CLX is to
X11.

> This has the advantage that you can use every Windows API 
> function, if you like.

Also, there are fewer layers for bugs to creep in.

> The same could be done for Carbon on MacOS X and X11 for 
> Linux.

On X11, you just described CLX, I think.  (Well, ideally at least...) 
For MacOS X, there are a) cl-carbon and b) the OpenMCL interfaces to
Cocoa (do they have a Carbon one as well?)

> Then you have the ability to write native applications, which
> are very close to the system.

And very low level.

> The API above the system-level could be something like wxCL, 
> but in pure Lisp. 

That would be Garnet and McCLIM - they define higher level graphics
using the primatives provided (for now) by CLX.  Dan's original work
with gdi was an experiment to get Garnet running on Windows, and was in
fact a partial (or even not so partial) success.  Of old Garnet worked
on MacOS but that was far before the days of OSX.  There is a partial
backend for McCLIM called Beagle which tries to interface with Cocoa
for MacOSX, but IIRC ran into some fairly fundamental conflicts. 
Perhaps adapting it to Carbon would meet with more success.

> Then it is easy to write starter-kits like Dr Scheme, with rich
> libraries and GUI capabilities, see e.g. 
> http://tinyurl.com/9htgs

I think if Garnet and McCLIM are fleshed out to full potential Lisp
graphics will be in a position to dazzle the free software world, but
the effort required to make this happen at its "proper" level is not to
be underestimated.  In my estimation it's probably beyond a Gardner
project, at least at this stage.

I think eventually this would be the ideal situation:

User level toolkits:    McCLIM     Garnet
 
Graphics system communication:   CLX     cl-gdi    cl-carbon

Underlying lisp:  All major free lisps, and commercial ones if
interested.

Right now, we have a large chunck of McCLIM and Garnet, most of CLX,
the beginnings of cl-gdi (although I'm not sure how portable Dan's
original approach is beyond clisp), and the beginnings of cl-carbon,
with strong links between McCLIM and CLX, Garnet and CLX, and Garnet
and Dan's gdi work.

Of course, this leaves the problem of how to look and feel like a
native application on any given platform, among other issues.  Using an
FFI to interface with a higher level toolkit like wxWidgets or TK is
undoubtedly the best way to go in the short term, but I think the
"best" long term solution is "Lisp all the way" - more work up front,
but the power of Lisp Graphics all the way down in the end.

Cheers,
CY

P.S.  Does anybody know if there exists somewhere a good summary of the
current status of Lisp Graphics?  I had to ask some fairly dumb
questions on comp.lang.lisp before I figured out what I didn't know, so
maybe a Complete Idiot's Guide to Common Lisp Graphics is in order. 
I'd be glad to take a first stab at one in order to cause someone more
qualified to get annoyed enough to write a good one <evil grin>.


                
__________________________________________ 
Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com 

_______________________________________________
Gardeners mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/gardeners

Reply via email to