<p><br></p>
<p>On Tue, Dec 27, 2011 at 3:54 AM, Tim Baumgartner &lt;<a href="mailto:baumgartner.tim@googlemail.com">baumgartner.tim@googlemail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Hi Haskellers!<br>
&gt;<br>
&gt; I&#39;m writing my first non-trivial Haskell application. I have an electronic drum set that generates MIDI events that I process with Haskell. A simple application of this kind might have fixed drums associated with fixed commands (I&#39;ve done that). <br>
</p>
<p>[...] <br>
&gt;<br>
&gt;<br>
&gt; Currently I&#39;m using a monad that combines Parsec (with MIDI event stream) and a Writer (that writes commands that should result in IO). It&#39;s done in a way that during running the monad, many parses can be done and failing parses roll back the parser state so that a new parse can be tried.<br>

&gt;</p>
<p> <br>
Care to share your code?</p>
<p>amindfv / Tom</p>