First release of ghcup-gtk, a GTK wrapper around the ghcup toolchain manager designed to appeal to newcomers to the language (and possibly newcomers to computer programming).
Packages for various operating systems are distributed on the release page, and signed with the Minisign tool.
You might reasonably ask “But Hécate, how was your experience with programming a GTK application in Haskell?”
The answer is that it was pure shite a painful experience, mostly due to GTK, lack of resources specific to Haskell (I had to learn how to plug CSS into my application by going to the competition). This is in part why I want this codebase to reflect best practices in how a maintainable desktop application can be made, but also I’m very open to suggestions on how to improve it.
I tried to recreate an Elm-style architecture of Model & Events, because that’s mostly what I know. Happy to listen to other opinions.
Haskell made the experience much more tolerable than it would have been in any other language, however, and I’m grateful for the language and its libraries.
Very cool and thank you for going through this pain lol.
The Real World Haskell book that is currently being revived had a gtk2hs chapter that looks pretty outdated (from first glance at least, haven’t gotten to this chapter yet). Your project might be a good reference for updating it.
Thanks a lot. Regarding the architecture document, it does look helpful but since it’s mostly a brain dump, it also has to be helpful to other people before I’d be ok with it. Please don’t hesitate to point out places where it’s vague or unclear.
I’m going to check out the code when I get the chance. I have also made a GTK/Gstreamer application a while ago and I’m really interested how different people approach the architecture in Haskell. This might be the perfect opportunity for me to learn Effectful.
One thing that I noticed at first glance, your project builds the UI directly in source. Have you considered using the builder, or have you found creating UI directly in source more convenient?
I am also wondering if there is even a single person on this earth who figured out how to use Gtk ListView with gi-gtk.
One thing that I noticed at first glance, your project builds the UI directly in source. Have you considered using the builder, or have you found creating UI directly in source more convenient?
When I found out that Glade was not compatible with GTK4, it seemed to me that those builders can be a liability, so I opted to do everything in Haskell instead of bringing a builder in the mix.