
Am Mittwoch, 22. November 2006 14:18 schrieb Ross Paterson:
On Wed, Nov 22, 2006 at 12:28:33PM +0000, Malcolm Wallace wrote:
Ross Paterson
wrote: Data.ByteString.Lazy defines ByteString as a type synonym, and then uses that in instances, which isn't permitted by Haskell 98.
I recently sent some patches to the fps package, to enable it to build with nhc98. They simply change these instance decls to use the original type name rather than the synonym. (The original name was even in scope, so there was no compelling reason to use the synonym in the first place.)
There is the minor issue of which name appears in the Haddock docs.
In the OpenGL package this is "solved" via preprocessing: http://darcs.haskell.org/packages/OpenGL/include/HsOpenGLTypes.h I haven't followed the Haskell' discussion in detail, but I hope that this restriction on instances will be dropped. Cheers, S.