Talk:Haskell/GUI

Thanks for building this! I bet you've probably thought of this already, but just in case, I think it would be really helpful if you put screenshots up at every step. We could even be fancy and show off wxhaskell's multiplatformedness by putting versions for different OSes. In any case, a good place to put the shots would be the  commons. -- Kowey 21:15, 27 August 2006 (UTC)


 * Thanks for the suggestion. I've just made an account on commons, so the screenshots will be up soon enough :) I only have wxHaskell set up on a Windows OS. I might try it on Linux, but I'm a total Linux noob, so that can take a while ;) In case you or other people want to make screenshots of other OSes, I'll add the OS in the filename :)
 * I try to explain only the basics of wxHaskell developing, with a strong focus on using the documentation and the samples. At the FP class at university, we only got Daan's paper with a minimum amount of explanation and hardly anyone knew how to read the docs. I'm trying to improve on this by showing how I use the docs when looking for stuff.--Tchakkazulu 22:58, 27 August 2006 (UTC)


 * On a completely random note, when you feel somewhat comfortable with wxHaskell, you might consider having a look at autoforms. Can you imagine... no more boring work creating GUIs... only write the interesting bits, and let autoforms derive the easy ones. -- Kowey 07:08, 28 August 2006 (UTC)

There, screenshots added. Someone more mediawiki-savvy than I might want to fix some display things. --Tchakkazulu 00:40, 28 August 2006 (UTC)

I'm almost done with what I had planned for this module; a small part about event filters and it's finished. Maybe I'll add some exercises involving events and attributes, because that's a really important part of GUIs, interactivity and such. I wasn't able to sneak in mutable variables, as much as I wanted to. A separate chapter for them seems a bit overdone. I know there are a lot of subjects of wxHaskell not covered here, such as instances of Paint and all fun stuff to do with that, creating custom controls and attributes, menubars/toolbars/context-menus and option dialogs, but I have to do more of those first before I can explain it and write decent, good-looking code about it. Twas fun :) --Tchakkazulu 23:22, 30 August 2006 (UTC)


 * Woo! Hope you stick around and find more stuff to work on in the book. I suppose we could envision an advanced graphics article (going all the way up to FRP?).  Or, if that's outside the scope of the book, we could even do something like that on HaskellWiki.


 * Speaking of which, something you might consider doing is adding something to your user page saying that your Haskell stuff can be used under the HaskellWiki's simple permissive license. Not neccesary of course, but this allows them to use our stuff, just like we use their stuff.  Then again, this weakens the GFDL terms, which you might not like so much...


 * In any case, thanks again! I'm really glad we have an actual GUI page now, and not just a stub, partly because it's useful in itself, and partly because graphical interfaces are an easy way to show people that Haskell is a "real world" language, not just a bunch of academic nonsense :-) -- Kowey 06:28, 31 August 2006 (UTC)

Screenshots license
Commons should not be used for uploading these screenshots. Fair use is not allowed over there, and they depict winXP screens which is copyrighted by Microsoft. Blah... they will probably be auto-removed from commons very soon so I'll upload them here to wb. After checking if that's possible.

I think I'm supposed to use Template:Screenshot as a license. Any more trapdoors? --Tchakkazulu 23:12, 1 September 2006 (UTC)


 * How frustrating! I guess the best bet would be to take the screenshots under Linux.  It would be nice to use commons in case we ever decide to translate the wikibook, or something.  Oh well... I guess moving the xp ones to wikibooks will have to do for now  -- Kowey 07:43, 2 September 2006 (UTC)

qtHaskell is not quite alive
The project was hosted by the now defunct berlios so the old project page is inaccessible. Archive.org has a partial archive of the project website. Unfortunately, the recent source code wasn't saved. (I haven't checked for older releases available in older backups.) There are some source archives here. I didn't see sha sums or gpg sigs listed on the archived version of the original site.

The creator recommends qt 4.3.? or greater. I tried building the source against qt 4.8.6, and got some compilation errors:

For this project to be generally useful, it will need some updating and a new place to host the source archives. The developer's last source release was in 2010. (I haven't contacted them about their project.)

An alternative to qtHaskell could be hasqml, which offers haskell bindings to Qt Quick. This requires using QML, a declarative javascript-inspired language. hasqml might be a good replacement for qtHaskell, since since using javascript with Qt Quick is apparently optional. I don't know if one can generally abstain from javascript use without too much hassle or compromise.

-- (Edited) Sudozero (discuss • contribs) 22:00, 30 June 2014 (UTC)

Pretty much every recommended library here is dead
Kind of a continuation of the above, but pretty much every library recommended here is dead. Gtk2Hs is just... no. We're on GTK-4 now. The Gtk2Hs project themselves recommend using gi-gtk-hs instead. hoc hasn't been maintained for about 13 years. The last commit was 2010. wxHaskell had no commits for about 8 years. The last commit seems to have been at 2015. And as the topic above says, qtHaskell is dead as well.

We need to revamp this to use perhaps `gi-gtk-hs`, and `monomer`, or SDL2 if anyone feels that it fits. There's also fltkhs, that one has only been unmaintained for 3 years. Though I don't recommend using it. And also dear-imgui, which is closer to SDL2 if anything. There's also qtah as a replacement for qtHaskell but I've never gotten it to build.

Another way to do GUI is to have Haskell be the business logic side, and shell out to another language for GUI, like C or any other language. -- Ribosomerocker (discuss • contribs) 11:29, 18 July 2023 (UTC)