'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
See the github page for examples on usage:
For creating backends, the module "System.Console.Wizard.Internal" has a brief