= Overview/Problem = The OpenGL libraries included in the HP are old (OpenGL 2.2.3.0) and I would like to push for it to be updated. The problem is that the version in the HP is quickly falling out of sync with the OpenGL standard and version 2.2.3.0 has some serious performance issues with floating point numbers. The situation has been languishing for too long. I need some guidance on how to resolve the issue so that the next HP does not suffer from this problem.
= Background = As I understand it, the main problem is that starting with OpenGL 2.3.0.0 [1], there was a refactoring of the packages that added new dependencies. Of these, StateVar, Tensor, and ObjectName were controversial dependencies: * StateVar -- Some people have objected to the module name of the StateVar package, as it is Data.StateVar. As I understand it, there is some concern that by having that in the HP we are encouraging beginners to think about using state in their programs. Data.StateVar is very general and used by several packages (opengl, openal, hipmunk) [2], for this reason it doesn't seem to make sense to put it under the opengl module namespace. I'd also like to point out, STRefs are provided by the HP and allow programmers to use stateful references. In the current module name landscape [3], those come from Data.STRef. * ObjectName -- ObjectName is shared between OpenGL and OpenAL so putting it in the Graphics namespace seems a bad idea. Note: Although Data.ObjectName seems reasonable to me, I could be convinced to roll ObjectName back into each of those packages as it's just one type class definition (no instances) and it's used in exactly those packages. Plus the way the dependency is specified on hackage, releasing an updated package will break the existing OpenGL/OpenAL packages. * Tensor -- This defines some Vertex and Vector types. Data.Tensor seems reasonable to me. It's used by OpenGL, OpenAL, and OpenVG. If I change it I should probably coordinate with Stephen Tetley the author of OpenVG. * OpenGLRaw -- As far as I know this package is fine as it is, but simply has not been added to the HP yet. * GLUTRaw -- Same as OpenGLRaw. = Question = What do I need to do to get the HP to update its dependency on OpenGL? For example, would changing Data.StateVar to Foreign.StateVar be sufficient? Is the HP willing to accept Data.StateVar? Tickets have already been created for updating OpenGL [4] and adding OpenGLRaw [5]. = References = [1] http://hackage.haskell.org/package/OpenGL-2.4.0.2 [2] http://packdeps.haskellers.com/reverse/StateVar [3] http://www.haskell.org/haskellwiki/Hierarchical_module_names [4] http://trac.haskell.org/haskell-platform/ticket/158 [5] http://trac.haskell.org/haskell-platform/ticket/167 Thank you, Jason _______________________________________________ Haskell-platform mailing list Haskell-platform@projects.haskell.org http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform