1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <div class="infobox">
- <h2>Links</h2>
- <ul>
- <li> [[News]]
- <li> [[Releases]]
- <li> [[Forum]]
- <li> [[Tickets]]
- </ul>
- </div>
- [[!toc]]
- # Introduction
- **settings** is a Haskell library for adding an editable settings system to
- your program. You define the settings tree structure, link the settings to
- actual Haskell values you keep in your program state, and write a UI for the
- user to edit and examine the settings.
- The settings tree definition is separate from the values themselves, so your
- program logic code can access the values as usual.
- The idea is somewhat similar to:
- - GSettings
- - git config
- - Weechat's settings system
- Right now, the library provides the bare minimum: A data structure for
- settings. The plans are:
- - A higher level interface using monads
- - Persistent storage
- - Safe concurrent access, e.g. what if the user edits settings while the
- program runs and reads them, possibly happening in separate threads or
- processes
- - Support for shared settings between programs
- - Support for global system or per-user settings storage
- - Command-line, interactive terminal UI and GUI programs for editing settings
- The author is busy with several other projects in parallel, so writing all of
- these features may take a while. However, the basics are required by other
- projects and will be added soon, or at least a working minimum:
- - Interface using monads
- - Persistent storage
- # Download
- Releases are made to Hackage: [[!hackage settings]]. The Darcs repository
- containing the source is here: [[!darcshub fr33domlover/settings]].
- # Documentation
- See the Haddock generated pages and the source itself.
- # Freedom
- **settings** is free software, and is committed to software freedom and to
- freedom in general. It is released to the public domain using the CC0 Public
- Domain Dedication. See [[/freedom]].
- # Bugs, Ideas, Tasks and Decisions
- - [[tickets]]
- - [[decisions]]
|