
FYI: I've released a new OpenGLRaw version 3.0.0.0 which is now quite close to the gl package. The changes: * Use pattern synonyms for OpenGL enums. * Changed module name prefix from Graphics.Rendering.OpenGL.Raw to Graphics.GL. * Use slightly different type synonyms for GL type (introducing Fixed on the way): * CDouble => Double (for GLclampd, GLdouble) * CFloat => Float (for GLclampf, GLfloat) * CInt => Fixed (for GLclampx, GLfixed) * CInt => Int32 (for GLint, GLsizei) * CSChar => Int8 (for GLbyte) * CShort => Int16 (for GLshort) * CUChar => Word8 (for GLboolean, GLubyte) * CUInt => Word32 (for GLbitfield, GLenum, GLhandleARB, GLuint) * CUShort => Word16 (for GLushort) There are still a few minor differences between OpenGLRaw and gl (see https://github.com/haskell-opengl/OpenGLRaw/wiki/Merging-OpenGLRaw-and-gl), but nothing serious: As a test, I modified the luminance package to make it compatible with the new OpenGLRaw, and the diff is really small (see https://github.com/phaazon/luminance/pull/39). So I think that the gl package can be retired, but that's of course totally up to Edward and Gabríel. A few remarks: * Using pattern synonyms means losing support for GHC < 7.8, which I consider OK now that 8.0 is coming soon. But to be sure, there is a branch ("classic") for the previous OpenGLRaw API if the need for minor changes/bug fixes arises. * To stay consistent, GLURaw has been changed in a similar way. * The OpenGL package has been adapted to use the new APIs internally, but its external API is still the same. Cheers, S.