[Haskell-beginners] Haskell GTK

Krzysztof Skrzętnicki gtener at gmail.com
Mon Jun 10 12:47:59 CEST 2013


Well, this is just a matter of refactoring some stuff here. You can notice
that most work is defining several small callbacks so its not really that
complex. I tend to use that style of nested let's because it saves the
time: no need to write boilerplate parameter passing, just use what is
defined in scope. If you cut out callbacks and GUI code you are left with
literally 8 non-empty lines. Its not that bad for a main.

Honestly I don't see why do you think Haskell sucks here. This is just
plain GTK. If anything it is better with Haskell thanks to static typing,
higher order functions, great runtime with GC and other stuff. Equivalent
application in plain C would be much longer and carry more bugs, and Python
GTK apps are a mess really.

Can you actually point to any GTK MVP framework out there?


On Mon, Jun 10, 2013 at 12:00 PM, Giacomo Tesio <giacomo at tesio.it> wrote:

> This is the point: in
> https://github.com/Tener/sheep-transfer/blob/master/src/sheep-gtk.hs the
> main function requires 196 lines!
>
> How can this be acceptable? GTK is a good toolkit by itself. As far as I
> can see, the problem here is haskell: I can't see how I can build a simple,
> basic MVP framework on top of gtk2hs.
>
> Probably I've finally found something relevant at which Haskell sucks.
> Still I can't understand how haskellers code GUI when they really need to.
> Do they use another language and interact with haskell programs via pipes?
>
>
> Giacomo
>
>
>
> On Mon, Jun 10, 2013 at 11:17 AM, Krzysztof Skrzętnicki <gtener at gmail.com>wrote:
>
>> If you want a bit more complex GTK programs you can look at these:
>>
>> https://github.com/Tener/spike -- web browser
>> https://github.com/Tener/sheep-transfer -- local network file sharing
>>
>> However, I'm *not* satisfied by the current state of GUI programming in
>> Haskell. Both programs above are using GTK just because there is nothing
>> better. GTK is a pain to install on Windows too.
>>
>>
>>
>> On Mon, Jun 10, 2013 at 10:58 AM, Giacomo Tesio <giacomo at tesio.it> wrote:
>>
>>> Thanks, but no, it doesn't help... I have to stick with GTK.
>>>
>>> Most of the GUI examples I saw are toy programs.
>>> Leksah is a notable exception, but it's way too complex to be a useful
>>> learning tool.
>>>
>>> In OO languages, I'm used to the MVP pattern which helps to organize the
>>> code.
>>> But I'm finding so complex building GUI in haskell that I'm starting to
>>> think that it's not a good choice for such task.
>>>
>>>
>>> Giacomo
>>>
>>>
>>> On Mon, Jun 10, 2013 at 2:52 AM, Tim Perry <tim.v2.0 at gmail.com> wrote:
>>>
>>>> Did you try this:
>>>> http://en.m.wikibooks.org/wiki/Haskell/GUI
>>>>
>>>> I hope it helps.
>>>> Tim
>>>>
>>>>
>>>> On Jun 9, 2013, at 10:22 AM, Giacomo Tesio <giacomo at tesio.it> wrote:
>>>>
>>>> I have to write a "simple" GUI that plot some timeseries with a few
>>>> parameterization (dates, times and so on...).
>>>> The task should be simple, but I'm find using the GTK binding quite
>>>> weird.
>>>>
>>>> I'm surprised that nothing better exists for GUI programming in
>>>> haskell. I read a few about FRP but AFAIK it doesn't adress simple desktop
>>>> UI full of input to validate and grid/tree to show.
>>>>
>>>> Any suggestion? I've already read the pages on Hackage without much
>>>> success.
>>>> At least, can someone point me to the right direction for the codebase
>>>> organization?
>>>>
>>>>
>>>> Giacomo
>>>>
>>>> _______________________________________________
>>>> Beginners mailing list
>>>> Beginners at haskell.org
>>>> http://www.haskell.org/mailman/listinfo/beginners
>>>>
>>>>
>>>> _______________________________________________
>>>> Beginners mailing list
>>>> Beginners at haskell.org
>>>> http://www.haskell.org/mailman/listinfo/beginners
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at haskell.org
>>> http://www.haskell.org/mailman/listinfo/beginners
>>>
>>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
>>
>>
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130610/b31732a1/attachment.htm>


More information about the Beginners mailing list