An easy to use, cross platform, GUI library for writing Haskell applications.
Go to file
2020-12-11 19:10:01 -03:00
app Partial commit to rely on offset instead of rebuilding tree when inside a scroll 2020-12-11 19:10:01 -03:00
assets Add theming to scroll 2020-10-25 22:29:55 -03:00
cbits Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
docs Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
src Partial commit to rely on offset instead of rebuilding tree when inside a scroll 2020-12-11 19:10:01 -03:00
test/unit Fix size/location issue on dropdown after resize. Add missing strictness annotations (fixes the issue of dropdown list not being evaluated until shown, causing it to be evaluated multiple times at once) 2020-12-08 13:37:58 -03:00
.ghci Basic scrollbar display, minor general improvements and tests that will not stand the test of time 2020-05-07 17:04:26 -03:00
.ghcid Initial commit 2019-09-23 11:46:21 -03:00
.gitignore Unpack fields on basic types 2020-11-29 02:52:36 -03:00
.hlint.yaml Move hlint hints to config file 2020-09-30 17:28:58 -03:00
ChangeLog.md Initial commit 2019-09-23 11:46:21 -03:00
Info.plist Avoid rendering on every frame if not needed 2020-11-24 23:26:12 -03:00
LICENSE Minor adjustment to license 2020-07-10 22:08:19 -03:00
package.yaml Add tests for checkbox 2020-11-12 20:26:19 -03:00
profile.sh Initial commit 2019-09-23 11:46:21 -03:00
README.md Add tests for image 2020-11-16 18:04:23 -03:00
Setup.hs Initial commit 2019-09-23 11:46:21 -03:00
stack.yaml Fix Test build 2020-07-30 01:39:48 -03:00
stack.yaml.lock Fix Test build 2020-07-30 01:39:48 -03:00
tasks.md Partial commit to rely on offset instead of rebuilding tree when inside a scroll 2020-12-11 19:10:01 -03:00
test-cases.md Add test cases for composite. Found and fixed two issues related to updating model, one in composite and the other in Handlers (context no updated) 2020-11-30 18:21:15 -03:00
watch-tests.sh Improve inputField, add new tests 2020-11-15 23:58:26 -03:00

Monomer

An easy to use, Elm/Flutter inspired, GUI library for writing native applications in Haskell.

Objectives

  • It should be easy to use
  • It should be possible to extend it with custom widgets
  • It should work on Windows, Linux and macOS
  • It should have good documentation
  • It should have good examples

Ideally, in the future, this project will

  • Be able to run in mobile
  • Support Vulkan/Metal

Why would I want to use this library

  • You want to write your application in Haskell
  • You want to write a native, not Electron based, application
  • You prefer not to use Gtk

These are not objectives for this project

  • Have a native look and feel
  • Be a research project pushing the boundaries on how GUIs are created

Current limitations

  • Multi-platform features depend on what SDL already provides
    • Copy/paste is only supported for text, not images
  • Text input capabilities are basic, supporting only left to right editing at the moment