The updates include:
* All of the newtypes in OpenGLRaw have been changed to type aliases
(credit to Trevor Elliott and Mike Ledger)
* OpenGLRaw's TypesInternal module has gone away
* NVidia path rendering extensions have been added by "ozelis" on github
This release changes OpenGLRaw to use type aliases instead of newtype
wrappers for the GLfoo types, such as GLenum/GLfloat/GLdouble. Using
newtypes had the following downsides:
* The CPP macros to make these definitions are borrowed verbatim from GHC
sources and required updates with new GHC releases in order to stay
compatible. Although, it hasn't been a problem yet, it's conceivable this
will conflict with supporting different versions of GHC at some point.
* Optimization rules have to be written against these newtypes and
forgetting them can lead to significant performance degradation or extra
verbosity for people using the bindings.
* You have to reach pretty deep into GHC to make it possible for the
newtypes to work in the unboxed vectors provided by the vector package.
This is again, another missed opportunity for high performance code.
You can find the source and bug trackers for these packages here:
https://github.com/haskell-opengl/
Feedback, pull requests, and bug reports are always welcome!
Thanks!
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20121104/4462ae4f/attachment.htm>