io-sim VS threepenny-gui

Compare io-sim vs threepenny-gui and see what are their differences.


Haskell's IO simulator which closely follows core packages (base, async, stm). (by input-output-hk)


GUI framework that uses the web browser as a display. (by HeinrichApfelmus)
Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • SaaSHub - Software Alternatives and Reviews
io-sim threepenny-gui
2 6
24 425
- -
8.9 0.0
9 days ago 18 days ago
Haskell Haskell
Apache License 2.0 BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of io-sim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-16.
  • What can I do in Haskell? UwU
    8 projects | /r/haskell | 16 Nov 2022
    It is implemented using our own io-sim library: - which I hope to put on Hackage in future.


Posts with mentions or reviews of threepenny-gui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-16.
  • What can I do in Haskell? UwU
    8 projects | /r/haskell | 16 Nov 2022
  • What practice programs or knowledge should I learn to do "real" projects in Haskell
    4 projects | /r/haskell | 4 Nov 2022
    Not if you use my Threepenny-gui library. šŸ˜‰
  • Is threepenny-gui really reactive?
    6 projects | /r/haskell | 3 Nov 2021
    If you really want FRP, use Obelisk (based on Reflex-Dom. I will call just say "Obelisk" to refer to Obelisk's dependencies Reflex-Dom, Reflex,... too). I like the author of threepenny-gui and the library has the great advantages of not needing GHCJS (Obelisk does not need GHCJS either theoretically but I do not know how easy it currently is to make it work without) nor Nix. But the library was originally built as a non-FRP library and it has been lacking essential FRP combinators for a long time.
    6 projects | /r/haskell | 3 Nov 2021
    When I look at the different examples included with threepenny-gui, I get the impression that they have not designed their programs reactively. For instance, if you see Mouse.hs, you see that they are saying
  • How is it going with desktop apps nowadays? What happened to wxHaskell?
    4 projects | /r/haskell | 20 Jun 2021
    The threepenny-gui library is probably best if you just want a simple way to make GUIs. However, it doesn't really do desktop GUIs as such: it displays your GUI as a webpage running on localhost. However, it does work pretty well with Electron, which gives you a desktop application.
  • Best UI Toolkit for generating UI elements at runtime
    8 projects | /r/haskell | 7 Jan 2021
    For this purpose, I normally use threepenny-gui, which can be used with Electron. (As it happens, that combination is what Iā€™m using for my current Haskell program.)

What are some alternatives?

When comparing io-sim and threepenny-gui you can also consider the following projects:

Gifcurry - šŸ˜Ž The open-source, Haskell-built video editor for GIF makers.

ltk - Leksah Toolkit

nanovg - NanoVG Haskell bindings

free-game - The free game engine

assimp - Haskell FFI bindings for Assimp

imagemagick - haskell imagemagick bindings


UISF - A Haskell arrowized FRP library for GUIs

lgtk - Lens-based Gtk interface

xdot - xdot library for Haskell

nixos-manager - Manage your NixOS packages and configuration via a simple, intuitive UI

maxent-learner-hw - A tool for automatically inferring phonotactic grammars from a lexicon and using those grammars to generate random text