
Axel Simon wrote:
- create a "Common API" that captures common aspects of major platforms (Win, Mac, Gtk) without violating native look-and-feel.
- give the user the possiblity to use platform specific functions for everything that is not captured by the Common API in a non-portable way.
[...] we will have write a binding for Apple Carbon, use the Win32 library in GHC and (hopefully) gtk2hs to cover the three major platforms.
We couldn't agree more. I think I should start writing a Carbon<->Haskell binding (CarbonatedHaskell? CurriedCarbon?).
If we are giving up on this, lets bin gtk2hs, HToolkit and all the other toolkits out there and use wxWindows.
Let's just not bin wxHaskell for now, but keep it around in case the Common API effort (as you defined it above) fails. (It has not failed yet).
I think it's not too hard to find a subset which meets the two goals of the Common GUI API mentioned above.
The only hard part IMHO is to accommodate MacOS-style menu bars without sacrificing functionality on other platforms. This is the area where other cross-platform toolkits fail because they didn't even try. Swing, wxWindows, Qt, etc. have all been designed without the Mac in mind and have only been ported later. We should be sure to discuss this issue at the Haskell Implementors Meeting. Cheers, Wolfgang