You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Very cool! Ping me if you have any questions around gi-gtk-declarative, happy to help with that if I can! I don't think I have time to help with this particular implementation, but could answer questions about the library.
By the way, it aims to be complete, but some widgets are really hard to automatically make declarative. Thus, it's not a complete declarative layer over gi-gtk at the moment. As "workaround", I plan on providing building blocks for easily creating declarative wrappers around the imperative APIs (called "Custom Widgets").
It looks like gi-gtk-declarative is not really being maintained anymore, so I'll go ahead and close this.
However, on the Haskell Discourse, there was some talk about someone else picking up development, so maybe we can reopen this in the future. I do think it is an interesting idea.
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.)
The text was updated successfully, but these errors were encountered: