[Haskell-cafe] Poll & plea: State of GUI & graphics libraries in Haskell

Carter Schonwald carter.schonwald
Tue Oct 1 14:04:03 UTC 2013


Hey simon, the two issues that have recurrently bit ghci interaction with
foreign GUI libs are
1) the ghci linker.  This is fixed in head by now having ghci use the
system linker
2) some GUI libs require thread local state, and ghci has a flag for that
3)  I'm not aware of anyone reporting newly broken libs wrt GUI bindings
when 7.6 rolled out.  The only fix that's relevant to 7.8 is the dylinker
bit, but that would have been a problem historically too.

I believe a number of folks in #haskell-game have recently tested point
one.  (Though I should ask to double check)

At the very least, I'm not aware of hearing of such a 7.6 specific ghci
breakage before.


On Tuesday, October 1, 2013, Simon Peyton-Jones wrote:

>  Dear GHC devs****
>
> ** **
>
> See below (in red).  I do not know the details of this, but it sounds like
> a pretty serious problem, and it used to work.  Is whatever-it-is confirmed
> fixed in 7.8?  Do we have a test that?ll trip if it breaks again?  (I?m
> guessing that the latter might be hard.)****
>
> ** **
>
> Thanks****
>
> ** **
>
> Simon****
>
> ** **
>
> -----Original Message-----
> From: Haskell-Cafe [mailto:haskell-cafe-bounces at haskell.org] On Behalf Of
> Paul Liu
> Sent: 30 September 2013 07:18
> To: Conal Elliott
> Cc: Haskell Cafe
> Subject: Re: [Haskell-cafe] Poll & plea: State of GUI & graphics libraries
> in Haskell
>
> ** **
>
> Hi Conal,****
>
> ** **
>
> I wasn't able to make it to last Saturday's FARM track, but I think****
>
> there was a good chance that Paul would have demonstrated his Euterpea****
>
> music library, which includes a GUI interface (called MUI) written on****
>
> top of GLFW. I wrote its initial implementation (around 2009?) with a****
>
> monadic interface that let you wire together UI components with****
>
> signals (I believe Dan later wrote an arrow interface, but I could be****
>
> wrong). It was actually inspired by the ideas behind your Phooey UI****
>
> library. It should be very easy to extract this part out as a****
>
> standalone package if there is enough interest.****
>
> ** **
>
> *The only issue with it (and all other UI libraries) is that it doesn't*
>
> *play nicely in GHCi. It used to work pretty well with GHC 7.2 and 7.4*
>
> *on almost all platforms (Mac needs an extra hack), but GHC 7.6 broke*
>
> *Mac (and perhaps Windows too). GHC 7.8 supposedly should fix this*
>
> *problem.*
>
> ** **
>
> BTW, as also the author of the GLFW library on HackageDB, I've done****
>
> barely minimal to keep this Haskell binding afloat. I'm actually****
>
> leaning towards GLFW-b library, which is better maintained, and****
>
> provides similar binding for GLFW C library but with a saner interface****
>
> (no dependency on the OpenGL library, for example). If you don't need****
>
> the two extra things that GLFW does (choice of either dynamic or****
>
> static linking to GLFW C, and an embedded bitmap font), I suggest you****
>
> try out GLFW-b if you are only looking for a think graphics layer with****
>
> input+window+OpenGL.****
>
> ** **
>
> The only thing keeping GLFW-b from becoming a good foundation for a****
>
> pure Haskell UI lib is IMHO the lack of a light-weight,****
>
> cross-platform, and full-featured font rendering solution. I believe****
>
> many other libraries (including Diagram) are having the same problem.****
>
> ** **
>
> ** **
>
> On Thu, Sep 26, 2013 at 8:32 PM, Conal Elliott <conal at conal.net> wrote:***
> *
>
> > I'm polling to see whether there are will and expertise to reboot
> graphics****
>
> > and GUIs work in Haskell. I miss working on functional graphics and GUIs
> in****
>
> > Haskell, as I've been blocked for several years (eight?) due to the
> absence****
>
> > of low-level foundation libraries having the following properties:****
>
> >** **
>
> > * cross-platform,****
>
> > * easily buildable,****
>
> > * GHCi-friendly, and****
>
> > * OpenGL-compatible.****
>
> >** **
>
> > The last several times I tried Gtk2hs, I was unable to compile it on my
> Mac.****
>
> > Years ago when I was able to compile, the GUIs looked and interacted
> like a****
>
> > Linux app, which made them awkward and upleasant to use. wxHaskell (whose
> ****
>
> > API and visual appearance I prefered) has for years been incompatible
> with****
>
> > GHCi, in that the second time I open a top-level window, the host process
> ****
>
> > (GHCi) dies abruptly. Since my GUI & graphics programs are often
> one-liners,****
>
> > and I tend to experiment a lot, using a full compilation greatly thwarts
> my****
>
> > flow. For many years, I've thought that the situation would eventually**
> **
>
> > improve, since I'm far from the only person who wants GUIs or graphics
> from****
>
> > Haskell.****
>
> >** **
>
> > About three years ago, I built a modern replacement of my old Pan and***
> *
>
> > V
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20131001/2fa25dec/attachment.html>



More information about the ghc-devs mailing list