--- 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
