[HOpenGL] Fwd: Merging the OpenGLRaw and gl packages

Balazs Komuves bkomuves at gmail.com
Thu Sep 17 17:00:56 UTC 2015


Hello,

I skimmed through the Wiki, below are a few small comments.

I like the idea of merging the two packages, especially if the differences
are indeed that small. I'm a user of the higher-level OpenGL package,
instead of OpenGLRaw or gl, so I will be (hopefully...) not directly
affected, but still I'm interested in the Haskell OpenGL situation in
general (and sometimes OpenGL does not contain some feature, thus you have
to reach for the raw bindings).

Individual comments:

* Pattern synonyms: I usually don't like unnecessary language extensions,
but I can see the value of using pattern synonyms here (which is btw an
awesome language feature, it's just quite new and not (yet) "core haskell")

* exact GL types vs. generic numeric types: I see two issues with the
generic types. One, I'm never sure what kind of code GHC (and possibly
other compilers, in the future) will generate, there may be performance
regressions here. Two: Defaulting. You either need explicit type signatures
for constants (which is both ugly and easy to forget), or let GHC decide
what to default to, which may be for example Integer, causing serious
performance regressions in some programs. Because of these, I support the
exact types of OpenGLRaw and explicit conversions from the user (this is
one of the two points where I have a relatively strong opinion; but feel
free to educate me). Note that a "serious" user will most probably make an
abstraction layer anyway, which can then handle the conversions if
necessary.

* Half: I don't like unnecessary dependencies, but least Half does not
depend on anything else, so as long as it remains like that, I find it an
acceptable compromise.

* expanded enumerant groups in the docs: While these looks indeed useful, I
have to agree with Sven that they are incorrect as of now. So maybe some
new solution should be worked out here. (Also, clicking on the example, I
see 10+ lines of capital letter links with GL constant names, looks kind of
scary)

* XML build dependencies: I strongly agree with Sven that the ease of
building the library should be a priority, and it should not depend on
those hxt- packages.

* module names: "Graphics.GL.Ext.EXT.Foo looks like a hiccup" - indeed :)


Regards,
Balazs




On Thu, Sep 17, 2015 at 5:55 PM, Sven Panne <svenpanne at gmail.com> wrote:

> [ I forgot to add this mailing list in the initial mail... ]
>
> Edward and I already commented a bit on the Wiki, but I would really like
> to have some more input from users. Breaking an API shouldn't be done in a
> hurry and without feedback, so raise your voice! :-)
>
> ---------- Forwarded message ----------
> From: Sven Panne <svenpanne at gmail.com>
> Date: 2015-09-13 22:13 GMT+02:00
> Subject: Merging the OpenGLRaw and gl packages
> To: Haskell Cafe <haskell-cafe at haskell.org>
>
>
> Currently there are 2 similar packages on Hackage to access raw OpenGL
> functionality: OpenGLRaw and gl. Taking a closer look at them, it turns out
> that they are only superficially different and have a lot of things in
> common. This is a bit confusing for users, so it might make sense to merge
> those packages. Therefore I'd like to start a discussion how to do this in
> detail, collecting user feedback and opinions. I think that haskell-cafe is
> the right place for this discussion, while an accompanying wiki page is
> more suitable to collect the results. As a basis I started a page at
> https://github.com/haskell-opengl/OpenGLRaw/wiki/Merging-OpenGLRaw-and-gl,
> which is necessarily biased at the moment. ;-) It would be nice to hear
> your opinions about how the package should look like, what might be
> missing, what could be done better, which differences I forgot, etc.
>
> Cheers,
>    S.
>
>
>
> _______________________________________________
> HOpenGL mailing list
> HOpenGL at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/hopengl
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/hopengl/attachments/20150917/962196a4/attachment.html>


More information about the HOpenGL mailing list