
Hello,
This library looks very nice. Thank you for realeasing it! I realise it
took quite an effort to write it.
Looking from examples on Github I noticed that you use
-XOverlappingInstances. Why do you need such extension?
Best regards,
Krzysztof Skrzętnicki
On Sun, Jul 1, 2012 at 10:17 AM, Liam O'Connor
Hi all,
wizards is an Haskell library 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 (see Swierstra's excellent paper on this topic at http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf), which separates out the semantics of the program from the wizards interface. A variety of backends exist, including a full featured backend for Haskeline, a debug-friendly simpler implementation in terms of System.IO primitives, and a completely pure implementation modelled as a function from an input string to output. It is also possible to write your own backends, or extend the 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.
The library is highly extensible - back-ends can be written or extended with the type system helpfully tracking what features are supported by which back-ends.
Installation instructions and some educational examples are at the github page:
https://github.com/liamoc/wizards
Information on how to write backends or extend backends, as well as structured API documentation is available on Hackage:
http://hackage.haskell.org/package/wizards
(Or, you can just run cabal haddock to generate the documentation from the source).
Regards, Liam O'Connor
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe