-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider switching from gtk2hs to haskell-gi #100
Comments
I was wondering if maybe dropping GTK completely in favor of an HTML output like haddock does is the way to go forward.
ThreadScope's UI is not very complex (and certainly dated by today's standards) so porting it to HTML/CSS/JS shouldn't be too complex. Also, this could be a good opportunity to give the app a new, modern look. I'll look into it in the following months, but I can't promise anything |
@emlautarom1 : Would you use GHCJS to generate the JS that would be communicating with a native app somehow or do you have anything else in mind? Because, unlike the haddock output, this is an interactive app with a lot of heavy computation going on. |
Well, I've been thinking about some options on how to deal with that. First, I must clarify that I'm not an expert on the Haskell ecosystems (been tinkering with the language for the last year) so maybe I'm missing a better tool for the job. Currently, this is what I have in mind:
In summary, there are a lot of things to consider and I'm not sold on any solution. I'll dig into the current source code and eventually try to build some PoC. |
I think the main issue with converting to HTML/JS would be ThreadScope's interactive zooming and navigation - it's not clear to me that you could make a web-based UI that performs well enough to support that. But I'd be happy to be proved wrong. |
|
haskell-gi seems to be better maintained than gtk2hs is. I think we should consider switching to haskell-gi.
There are some questions:
The transition to haskell-gi means we're going to port ThreadScope from GTK 2 to GTK 3, which is not quite trivial.
The text was updated successfully, but these errors were encountered: