ANN: OpenGL packages update

Jason Dagit <[email protected]> Sun, 4 Nov 2012 11:28:36 -0800
Newsgroups gmane.comp.lang.haskell.hopengl,gmane.comp.lang.haskell.cafe
Message-ID <CAJ-DSyxZhUO4VeGDfri1RLnLavgnA+Yqy82EJYQVK6k=MTGV8g@mail.gmail.com>
--===============2971316872007367001==
Content-Type: multipart/alternative; boundary=047d7bdc06aa1586d604cdb060b8

--047d7bdc06aa1586d604cdb060b8
Content-Type: text/plain; charset=ISO-8859-1

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

--047d7bdc06aa1586d604cdb060b8
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div><div>The updates include:</div><div>=A0 * All of the newtypes in OpenG=
LRaw have been changed to type aliases (credit to Trevor Elliott and Mike L=
edger)</div><div>=A0 * OpenGLRaw&#39;s TypesInternal module has gone away</=
div>
</div><div>=A0 * NVidia path rendering extensions have been added by &quot;=
ozelis&quot; on github</div><div><br></div><div>This release changes OpenGL=
Raw to use type aliases instead of newtype wrappers for the GLfoo types, su=
ch as GLenum/GLfloat/GLdouble. Using newtypes had the following downsides:<=
/div>
<div><br></div><div>=A0 * The CPP macros to make these definitions are borr=
owed verbatim from GHC sources and required updates with new GHC releases i=
n order to stay compatible. Although, it hasn&#39;t been a problem yet, it&=
#39;s conceivable this will conflict with supporting different versions of =
GHC at some point.</div>
<div>=A0 * Optimization rules have to be written against these newtypes and=
 forgetting them can lead to significant performance degradation or extra v=
erbosity for people using the bindings.</div><div>=A0 * You have to reach p=
retty deep into GHC to make it possible for the newtypes to work in the unb=
oxed vectors provided by the vector package. This is again, another missed =
opportunity for high performance code.</div>
<div><br></div><div>You can find the source and bug trackers for these pack=
ages here:=A0<a href=3D"https://github.com/haskell-opengl/">https://github.=
com/haskell-opengl/</a></div><div><br></div><div>Feedback, pull requests, a=
nd bug reports are always welcome!</div>
<div><br></div><div>Thanks!<br>Jason</div>

--047d7bdc06aa1586d604cdb060b8--


--===============2971316872007367001==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
HOpenGL mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/hopengl

--===============2971316872007367001==--