[ANN] Monomer, a GUI library for Haskell

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • monomer

    An easy to use, cross platform, GUI library for writing Haskell applications.

  • I don't have any comments about the library itself, but I wanted to say that I very much appreciate that you took the time to write this out: https://github.com/fjvallarino/monomer/blob/main/docs/design-decisions.md

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • LambdaHack

    Haskell game engine library for roguelike dungeon crawlers; please offer feedback, e.g., after trying out the sample game with the web frontend at

  • I've recently tried that and gave up (https://github.com/LambdaHack/LambdaHack/issues/248). Perhaps it's possible to statically link SDL2, but I learnt it's impossible to statically link the OpenGL and X11 libraries, so you end up with a partially statically linked binary (I didn't manage to obtain even that).

  • gi-gtk-declarative

    Declarative GTK+ programming in Haskell

  • What are the main differences to and advantages over gi-gtk-declarative?

  • static-haskell-nix

    easily build most Haskell programs into fully static Linux executables

  • In static-haskell-nix there is currently this PR to enable support for that: https://github.com/nh2/static-haskell-nix/pull/108

  • nanovg

    Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

  • What is your take on the underlying library NanoVG stating

  • MetalNanoVG

    The Metal port of NanoVG.

  • It's not ideal, but the feature set used by Monomer has been stable for quite a while. It's also a kind of small library, which makes porting it to other backends feasible (a version for Metal, which I have not tested, can be found here)

  • Skia

    Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

  • I took a look at using Skia, but the C bindings are marked as not stable and it does not look like an easy to distribute library (plus compiling it takes a long time).

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

  • The other option that looks really interesting is using ImGui's ImDrawList, but I haven't validated if something Monomer uses is missing. The main advantage is it supports quite a few backends (Vulkan included), plus it also is a small library.

  • egui

    egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

  • Some competition from the rusties, with interesting discussion of immediate vs retained mode: https://github.com/emilk/egui

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • “fractureiser” malware in many popular Minecraft mods and modpacks

    3 projects | news.ycombinator.com | 7 Jun 2023
  • Widely-used graphics library

    4 projects | /r/cpp_questions | 5 May 2023
  • Selfhosted media converter ala ezgif

    1 project | /r/selfhosted | 27 Apr 2023
  • GUI frameworks for an SDL-based roguelike?

    4 projects | /r/roguelikedev | 26 Mar 2023
  • Leveraging Rust and the GPU to render user interfaces at 120 FPS

    15 projects | news.ycombinator.com | 9 Mar 2023