<div dir="ltr"><div><div><div><div>What I&#39;m looking for is a framework that help me to<br>1) design composable UI abstractions suited to my application needs (eg, a *CustomerSelector*): let&#39;s call these views<br></div>
2) connect such abstractions to actual implementations (GTK, Wx or anything else)<br></div>3) send userActions to Presenters (one for each view) so that they can handle them operating with a pure domain model and sending back to views updates<br>
<br></div>This is not that complex to achieve in OOP, but I can&#39;t see HOW to build an even basic framework that give me this.<br></div><div>Actually, that&#39;s probably my fault. <br></div><div><br><br></div>Giacomo<br>
<div><div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 10, 2013 at 12:53 PM, harry <span dir="ltr">&lt;<a href="mailto:voldermort@hotmail.com" target="_blank">voldermort@hotmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">Giacomo Tesio &lt;giacomo &lt;at&gt; <a href="http://tesio.it" target="_blank">tesio.it</a>&gt; writes:<br>

<br>
&gt; I have to write a &quot;simple&quot; GUI that plot some timeseries with a few<br>
parameterization (dates, times and so on...). The task should be simple, but<br>
I&#39;m find using the GTK binding quite weird.<br>
&gt;<br>
&gt; I&#39;m surprised that nothing better exists for GUI programming in haskell. I<br>
read a few about FRP but AFAIK it doesn&#39;t adress simple desktop UI full of<br>
input to validate and grid/tree to show.<br>
&gt;<br>
&gt; Any suggestion? I&#39;ve already read the pages on Hackage without much success.<br>
&gt; At least, can someone point me to the right direction for the codebase<br>
organization? <br>
<br>
</div></div>Why did FRP not work for you? You could try reactive-banana[1], which has<br>
specific support for GUI. If you want something closer to MVP,<br>
binding-gtk[2][3] might help.<br>
<br>
If you post more details about your application, someone may be able to<br>
suggest a better way of structuring it. MVP originates from OO, and<br>
OO-centric patterns are usually not the best way to go about something in<br>
Haskell.<br>
<br>
[1] <a href="http://www.haskell.org/haskellwiki/Reactive-banana" target="_blank">http://www.haskell.org/haskellwiki/Reactive-banana</a><br>
[2] <a href="http://code.accursoft.com/binding" target="_blank">http://code.accursoft.com/binding</a><br>
[3] <a href="http://hackage.haskell.org/package/binding-gtk" target="_blank">http://hackage.haskell.org/package/binding-gtk</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br></div>