wizards: High level, generic library for interrogative user interfaces

[ 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 [faq] 0.1, 1.0, 1.0.1, 1.0.2, 1.0.3
Dependencies base (==4.*), containers (>=0.4 && <0.7), control-monad-free (>=0.5 && <0.7), haskeline (>=0.6 && <0.8), mtl (>=2.0 && <2.3), transformers (>=0.1 && <0.6) [details]
License BSD-3-Clause
Author Liam O'Connor-Davis
Maintainer liamoc@cse.unsw.edu.au
Category User Interfaces
Source repo head: git clone git://github.com/liamoc/wizards.git
this: git clone git://github.com/liamoc/wizards.git(tag 1.0)
Uploaded by LiamOConnorDavis at Fri Nov 16 03:04:51 UTC 2018
Distributions Arch:1.0.3, Debian:1.0.2, Fedora:1.0.3, LTSHaskell:1.0.3, NixOS:1.0.3, Stackage:1.0.3
Downloads 5183 total (196 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-11-16 [all 1 reports]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees