@hackage wizards1.0.1
High level, generic library for interrogative user interfaces
Categories
License
BSD-3-Clause
Maintainer
liamoc@cse.unsw.edu.au
Links
Versions
Installation
Dependencies (6)
- base >=4 && <5
- containers >=0.4 && <0.6
- control-monad-free >=0.5 && <0.6
- haskeline >=0.6 && <0.8
- mtl >=2.0 && <2.2
- transformers >=0.1 && <0.4 Show all…
Dependents (2)
@hackage/hledger, @hackage/acme-everything
wizards is a package designed for the quick and painless development of interrogative programs, which
revolve around a "dialogue" with the user, who is asked a series of questions in a sequence much like an
installation wizard.
Everything from interactive system scripts, to installation wizards, to full-blown shells can be implemented with
the support of wizards.
It is developed transparently on top of a free monad, which separates out the semantics of the program from any
particular interface. A variety of backends exist, including console-based System.Console.Wizard.Haskeline and
System.Console.Wizard.BasicIO, and the pure System.Console.Wizard.Pure. It is also possible to write your
own backends, or extend existing back-ends with new features. While both built-in IO backends operate on a
console, there is no reason why wizards cannot also be used for making GUI wizard interfaces.
See the github page for examples on usage:
http://www.github.com/liamoc/wizards
For creating backends, the module System.Console.Wizard.Internal has a brief tutorial.