The wizards package

[ Tags: bsd3, library, user-interfaces ] [ Propose Tags ]

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 && <0.6), control-monad-free (>=0.5 && <0.7), haskeline (>=0.6 && <0.8), mtl (>=2.0 && <2.3), transformers (>=0.1 && <0.6) [details]
License BSD3
Author Liam O'Connor-Davis
Category User Interfaces
Source repository head: git clone git://
this: git clone git:// 1.0)
Uploaded Sat Mar 28 02:20:52 UTC 2015 by LiamOConnorDavis
Updated Thu May 26 15:28:07 UTC 2016 by LiamOConnorDavis to revision 1   [What is this?]
Distributions Arch:1.0.2, 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 2512 total (23 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-03-28 [all 1 reports]
Hackage Matrix CI




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees