The wizards package
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.
Properties
| Versions | 0.1, 1.0, 1.0.1 |
|---|---|
| Dependencies | base (4.*), containers (≥0.4 & <0.6), control-monad-free (0.5.*), haskeline (≥0.6 & <0.8), mtl (≥2.0 & <2.2), transformers (≥0.1 & <0.4) |
| License | BSD3 |
| Author | Liam O'Connor-Davis |
| Maintainer | liamoc@cse.unsw.edu.au |
| Category | User Interfaces |
| Source repository | git clone git://github.com/liamoc/wizards.git |
| Upload date | Sat Nov 3 07:13:11 UTC 2012 |
| Uploaded by | LiamOConnorDavis |
| Built on | ghc-7.6 |
Modules
Downloads
- wizards-1.0.1.tar.gz (Cabal source package)
- package description (included in the package)