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
Everything from interactive system scripts, to installation wizards, to full-blown shells can be implemented with
the support of
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.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.