Remix.run Logo
▲ Making a GTK application in Haskell, part 1(floreal.tech)
78 points by Vosporos 4 hours ago | 11 comments
▲pluc 11 minutes ago | parent | next [-]

> import GI.Awd qualified as Adw

please tell me that's a typo

▲tensegrist 7 minutes ago | parent [-]

possibly enabled by lsp (Adw.foo -> "foo found in GI.Awd, import it with the name you used?")

▲pluc a minute ago | parent [-]

yeah seems to be a typo, it is "Adw" and not "Awd", phew

https://hackage.haskell.org/package/gi-adwaita

▲seba_dos1 2 hours ago | parent | prev | next [-]

Replace `backdrop-filter` on `.backdrop::after` with `filter` on `.backdrop picture` for a free scrolling performance boost.

▲nh2 an hour ago | parent [-]

Indeed the scrolling performance is awful, makes reading it less enjoyable, especially when the topic is GUIs!

▲birchcove 2 hours ago | parent | prev | next [-]

i've been writing Haskell GUIs for a few years and mostly stick to react-banana or reflex because wiring up gtk-gi signals manually gets messy fast. The Elm architecture pattern here looks clean on paper but I'm curious how you handle async events from the widget tree without ending up in callback hell. Did you end up wrapping all GI callbacks in a channel that feeds into your update loop?

▲beanjuiceII an hour ago | parent | prev | next [-]

bro takes 2 years to make a todo list

▲drnick1 an hour ago | parent | prev [-]

Just keep in mind that some people like me avoid Haskell and the huge package mess it causes on Linux. Pandoc is infamous for that. Just stick to C++.

▲Vosporos an hour ago | parent [-]

That is entirely your distribution's fault. ArchLinux has a user-hostile packaging approach which I do not experience in Fedora.

▲klez 32 minutes ago | parent | next [-]

What does Arch do in particular to cause a mess? It's been a hot minute since I last used it and surely didn't use pandoc back then.

▲Ambolia an hour ago | parent | prev [-]

I completely avoid any haskell package in Arch and just build it with Stack, it's usually simple.