Skip to content

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

License

Notifications You must be signed in to change notification settings

fanshi1028/monomer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2e77c63 · Jul 5, 2023
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 99.0%
  • Other 1.0%