On Fri, 8 Jul 2011, Heinrich Apfelmus wrote:
Can GUI programming be liberated from the IO monad? Functional Reactive
Programming (FRP) promises as much, and I'm trying to make this dream a
reality with my [reactive-banana][] library. Having released version
0.4.0.0, I am now looking for example programs to direct the future
evolution of the library.
This is the request that I was waiting for. :-)
I have some very small wxwidgets example programs that send and receive
MIDI messages via ALSA in order to map, e.g. sliders to MIDI controller
knobs. I must synchronize the value of a slider with a spin widget and
incoming and outgoing MIDI messages and found the way to connect them very
low-level. I would like to see this in a more declarative style.
http://hackage.haskell.org/package/alsa-gui
* I think that Tim Docker's minimal step sequencer [hbeat][] simply makes a
great example. I hope that wxHaskell offers a platform-independent way to
play sound.
I think there are some ways for playing sounds in a portable way, like
'jack' or PortAudio.
* Notes of a musical performance can be modeled as event streams (MIDI), as
Henning Thielemann has [done with great effect][midi streams]. Surely,
reactive-banana should be up to the task, but writing an arpeggiator seems
impossible at the moment.
Oh, I am addressed explicitly, thanks! Yes, GUI for 'streamed' would be
nice, too. In the meantime I switched from an approach with lazy lists to
one with arrow-like stream processors. This way I could resolve all issues
with wrong timing and inappropriate waiting, but now code looks more
low-level. There are some examples lying around, that I even not started
to implement, because I expect that implementing them in the current
low-level way will yield nasty bugs. Thus I am highly interested in more
sophisticated MIDI stream editor combinators. I expect that inspiration
from other FRP frameworks would help me.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe