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

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

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, 1.6.0.0, 1.6.0.1
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
Revised Revision 2 made by fjvallarino at 2023-05-20T16:00:48Z
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.6.0.1, NixOS:1.6.0.1
Reverse Dependencies 2 direct, 0 indirect [details]
Executables tutorial, todo, ticker, opengl, generative, dev-test-app, books
Downloads 2205 total (63 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