-
-
Notifications
You must be signed in to change notification settings - Fork 51
Description
One of the most annoying parts of hacking on Termonad is interacting with the haskell-gi libraries. This is no fault of the libraries in question, they are only a thin wrapper around the underlying GTK libraries.
The underlying GTK libraries are mostly IO-based and procedural. It is hard to come up with good, testable code when relying on those libraries.
It would be nice to use a library that lets us write more high-level declarative code.
One library to look into for this is gi-gtk-declarative:
https://wickstrom.tech/programming/2018/09/04/declarative-gtk-programming-with-haskell.html
https://wickstrom.tech/programming/2018/10/26/writing-a-screencast-video-editor-in-haskell.html
The goal for making this transition to gi-gtk-declarative would be to make more of the Termonad code testable.
(I guess some sort of FRP-based library might work as well, but I don't know of a good one for the haskell-gi ecosystem.)