I only managed to find some screenshots from Harley Trung's class
projects a few years ago:

https://github.com/harleyttd/keyboard-fretboard/blob/master/demo2.png

https://github.com/harleyttd/InstrVislizr/blob/master/stereo.png

It was nothing fancy, only basic widgets, single font, not skinnable.
The design was based on your Phooey work, monadic composition of UI
elements wired by signals. I deliberately made the layout not reactive
in order to simplify implementation.

Regards,
Paul Liu

On Wed, Oct 2, 2013 at 3:28 PM, Conal Elliott <co...@conal.net> wrote:
> Interesting. How are the aesthetics? Can you point me to screen shots?
>
> It'd be a lot of work, but one cool project would be to create *beautiful*
> GUI elements using OpenGL programmable shaders. Given the speed of GPUs, we
> could afford to put a lot into visual details.
>
> A complementary project is designing a semantically precise and elegant
> ("denotative"/"genuinely functional" to use Peter Landin's terms) GUI DSEL
> that would be simpler and more powerful than the conventional OO-inspired
> libraries we have so much trouble getting to work in Haskell. I've thought
> about this sort of thing on and off for a very long time and would be happy
> to be involved if others are interested also.
>
> Together, these two efforts would yield an approach to GUIs that is
> beautiful inside and out.
>
> -- Conal
>
>
>
> On Wed, Oct 2, 2013 at 1:21 PM, Paul Liu <nine...@gmail.com> wrote:
>>
>> No. GLFW does not give you any UI elements, just basic windowing and
>> input handling.
>>
>> Euterpea has a UI layer on top of GLFW that provides text boxes and
>> sliders, etc, entirely written in Haskell.
>>
>> On Wed, Oct 2, 2013 at 8:40 AM, Conal Elliott <co...@conal.net> wrote:
>> > Hi Paul. Is there a way to use GLFW with GUI elements other than OpenGL
>> > display windows, e.g., text boxes and sliders?  -- Conal
>> >
>> >
>> > On Tue, Oct 1, 2013 at 11:23 PM, Paul Liu <nine...@gmail.com> wrote:
>> >>
>> >> Thanks. I've just built GHC HEAD on Mac OS X Lion, and tested by
>> >> installing libraries with --enable-shared and loading a GLFW program
>> >> into GHCi. Using ghci -fno-ghci-sandbox, everything works great
>> >> including closing and restarting GL window multiple times. Can't wait
>> >> for the  official release of GHC 7.8!
>> >>
>> >> On Tue, Oct 1, 2013 at 12:09 PM, Carter Schonwald
>> >> <carter.schonw...@gmail.com> wrote:
>> >> > thats the linker bug.
>> >> >
>> >> > the glfw stuff has been tested on ghc HEAD / 7.7 by folks on
>> >> > #haskell-game
>> >> > in recent memory. GHCI + foreign libs should work fine now (modulo
>> >> > thread
>> >> > local storage related thing).
>> >> >
>> >> > the historical element doesn't matter any more.
>> >> >
>> >> > To the best of my knowledge, all such issues should be gone. Anyone
>> >> > who
>> >> > cares about making sure GHCI+ gui libs play nice, PLEASE test with
>> >> > HEAD.
>> >> >
>> >> > the better this issue is properly tested (which i believe it has
>> >> > been),
>> >> > the
>> >> > more we can actually prevent it from happening. This requires people
>> >> > to
>> >> > test
>> >> > with HEAD GHCi now, rather than doing archaeology.
>> >> >
>> >> > anyone who cares, please play with GHCI in HEAD. If your lib doesn't
>> >> > work
>> >> > with ghci, please report a bug. It would be a new bug because it
>> >> > wont'
>> >> > be
>> >> > the previous reasons it hasnt' worked.
>> >> >
>> >> >
>> >> > tl;dr to the best of my knowledge this issue is resolved in HEAD.
>> >> > Test
>> >> > HEAD.
>> >> > Help us make sure it stays resolved by testing HEAD.
>> >> >
>> >> > thanks
>> >> > -Carter
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > On Tue, Oct 1, 2013 at 1:20 PM, Paul Liu <nine...@gmail.com> wrote:
>> >> >>
>> >> >> I reported a problem with statically linked GLFW library on Mac OS X
>> >> >> Lion in this thread:
>> >> >>
>> >> >>
>> >> >> http://www.haskell.org/pipermail/haskell-cafe/2012-January/097355.html
>> >> >>
>> >> >> I do not know why this is broken on Mac OS X Lion, but not on Linux
>> >> >> or
>> >> >> Windows. There was an EnableGUI hack for GHC 7.2 (and previous
>> >> >> versions) and OS X version before Lion, but it no longer works. So
>> >> >> I'm
>> >> >> not sure if it is OS X Lion, or GLFW, or GHC, or a combination of
>> >> >> them
>> >> >> that caused this problem.
>> >> >>
>> >> >> Regards,
>> >> >> Paul Liu
>> >> >>
>> >> >> On Tue, Oct 1, 2013 at 7:04 AM, Carter Schonwald
>> >> >> <carter.schonw...@gmail.com> wrote:
>> >> >> > 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-boun...@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 <co...@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
>> >> >> >
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > ghc-devs mailing list
>> >> >> > ghc-d...@haskell.org
>> >> >> > http://www.haskell.org/mailman/listinfo/ghc-devs
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Regards,
>> >> >> Paul Liu
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Regards,
>> >> Paul Liu
>> >> _______________________________________________
>> >> ghc-devs mailing list
>> >> ghc-d...@haskell.org
>> >> http://www.haskell.org/mailman/listinfo/ghc-devs
>> >
>> >
>>
>>
>>
>> --
>> Regards,
>> Paul Liu
>
>



-- 
Regards,
Paul Liu
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to