monomer: A GUI library for writing native Haskell applications.

[ bsd3, gui, library, program ] [ Propose Tags ]

Monomer is an easy to use, cross platform, GUI library for writing native Haskell applications.

It provides a framework similar to the Elm Architecture, allowing the creation of GUIs using an extensible set of widgets with pure Haskell.

Please see the README on Github at https://github.com/fjvallarino/monomer#readme


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
examplesDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.0.3, 1.1.0.0, 1.1.1.0, 1.2.0.0, 1.3.0.0, 1.4.0.0, 1.4.1.0, 1.5.0.0, 1.5.1.0
Change log ChangeLog.md
Dependencies aeson (>=1.4 && <2.3), async (>=2.1 && <2.3), attoparsec (>=0.12 && <0.15), base (>=4.11 && <5), bytestring (>=0.10 && <0.12), bytestring-to-vector (>=0.3 && <0.4), containers (>=0.5.11 && <0.7), data-default (>=0.5 && <0.8), exceptions (>=0.10 && <0.11), extra (>=1.6 && <1.9), formatting (>=6.0 && <8.0), http-client (>=0.6 && <0.9), JuicyPixels (>=3.2.9 && <3.5), lens (>=4.16 && <6), monomer, mtl (>=2.1 && <2.3), nanovg (>=0.8.1 && <1.0), OpenGLRaw (>=3.3 && <3.4), process (>=1.6 && <1.7), random (>=1.1 && <1.3), sdl2 (>=2.5.0 && <2.6), stm (>=2.5 && <2.6), text (>=1.2 && <2.1), text-show (>=3.7 && <3.12), time (>=1.8 && <1.16), transformers (>=0.5 && <0.7), vector (>=0.12 && <0.14), websockets (>=0.12 && <0.13), wreq (>=0.5.2 && <0.6), wuss (>=1.1 && <2.3) [details]
License BSD-3-Clause
Copyright 2018 Francisco Vallarino
Author Francisco Vallarino
Maintainer fjvallarino@gmail.com
Category GUI
Home page https://github.com/fjvallarino/monomer#readme
Bug tracker https://github.com/fjvallarino/monomer/issues
Source repo head: git clone https://github.com/fjvallarino/monomer
Uploaded by fjvallarino at 2023-02-04T23:21:09Z
Distributions LTSHaskell:1.5.1.0, NixOS:1.5.1.0
Reverse Dependencies 1 direct, 0 indirect [details]
Executables tutorial, todo, ticker, opengl, generative, dev-test-app, books
Downloads 1638 total (45 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-02-04 [all 1 reports]

Readme for monomer-1.5.1.0

[back to package description]

Monomer

A cross-platform GUI library for Haskell

Logo

CI badge made with Haskell BSD-3-Clause


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

Monomer provides a framework similar to the Elm Architecture, allowing the creation of GUIs using an extensible set of widgets with pure Haskell.

Objectives

  • Be easy to learn and use.
  • Be extensible with custom widgets.
  • Run on Windows, Linux and macOS.
  • Have good documentation.
  • Have good examples.

These are not objectives for this project

  • Have a native look and feel.

Why would you want to use this library?

  • You want to write your application in Haskell.
  • You want to write a native, not web based, application.

Documentation

Setup

You can read how to setup your environment here.

Tutorials

Introductory tutorials are available:

Examples

Beyond the tutorials, a few real world like examples are available:

Haddock

You can read the source code's documentation here.

Design decisions

In case you wonder why some choices were made, you can read here.

Roadmap

  • Stability and performance.
  • Mobile support.

Useful extensions

  • Hagrid, a flexible datagrid widget.

Contributing

PRs are welcome!

If possible, keep them small and focused. If you are planning on making a large change, please submit an issue first so we can agree on a solution.

License

This library is licensed under the BSD-3 license.

Fonts used in the examples:

Acknowledgments