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:
For creating backends, the module System.Console.Wizard.Internal has a brief tutorial.
|Versions||0.1, 1.0, 1.0.1, 1.0.2|
|Dependencies||base (==4.*), containers (==0.4.*), control-monad-free (==0.5.*), haskeline (==0.6.*), mtl (==2.0.*), transformers (==0.2.*) [details]|
|Source repository||head: git clone git://github.com/liamoc/wizards.git
this: git clone git://github.com/liamoc/wizards.git(tag 1.0)
|Uploaded||Sat Jun 30 20:02:24 UTC 2012 by LiamOConnorDavis|
|Distributions||Debian:1.0.2, Fedora:1.0.2, LTSHaskell:1.0.2, NixOS:1.0.2, Stackage:1.0.2, Tumbleweed:1.0.2|
|Downloads||2129 total (38 in the last 30 days)|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
For package maintainers and hackage trustees