Sven Panne wrote:
Am Freitag, 3. November 2006 11:37 schrieb Ross Paterson:

Fri Nov  3 02:35:59 PST 2006  Ross Paterson <[EMAIL PROTECTED]>
 * fill in Image routines in X11 (#982 from Frederik Eaton)

   M ./Graphics/X11/Types.hsc +12
   M ./Graphics/X11/Xlib/Misc.hsc -11 +7
   M ./Graphics/X11/Xlib/Types.hsc -1 +9
   M ./X11.cabal -1 +2
[...]


FYI: I've made this patch compile by telling the X11 headers to use normal prototypes (not macros) for the image functions. In addition I have 3 remarks about the X11 package:

* Strictly spoken, the majority of types are wrong: An Int is not a CInt, and the binding will fail on platforms where the actual representation is different. There should be a general code review of all the types in the "foreign import"s.

* Even if the point above is fixed, the X11 binding is not really typed, because tons of things are simply Ints (or better: CInts) and X11 constants are not Haskell constructors but simply integral values. caused by the use of "type" instead of the more correct "newtype". This can be fixed by a little bit of more or less mechanical work, but it will of course introduce an incompatible API change on the Haskell side. What do other people think about this direction?

I agree it would be nice to tidy up the API in these two respects too. I presume synonyms were used because defining all the instances for a newtype was too much hassle - nowadays it's easy with GHC's newtype deriving, but still diffiult with Hugs. However, there are macros to make it easier that we used for Foreign.C.

Cheers,
        Simon
_______________________________________________
Cvs-libraries mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to