logoalt Hacker News

slacknatcher12today at 1:09 AM2 repliesview on HN

Reading the documentation, I just notice lots of familiarity with my own solution using haskell and gi-gtk4. I think that anybody that read https://bichanna.github.io/posts/tea-time/ will get the same ideas. This basically boils down to:

1. Use a native widget system such as GTK (I evaluated Qt too)

2. Wrap widgets into a component datatype that is aware on how to update the widget when the props/model changes.

3. Define a dispatch closure that is passed to widget that accepts messages. Actions on the widgets should use this instead of mutating a reference.

4. That dispatch closure is component aware and it will call the update function on all the widgets.

There are some extra complications for long running computations but the model is a good base to build on. I wish the best to the relm team, most likely I will use them when programminmg in rust.


Replies

manmaltoday at 5:11 AM

I haven’t used Haskell much. I thought to try it with agentic help, but then read this post that its compilation times might make it unviable. But what’s your experience?

zeendotoday at 3:01 AM

Is your Haskell solution open source?