chatty-0.8.0.0: Some monad transformers and typeclasses for text in- and output abstraction.
Safe HaskellTrustworthy
LanguageHaskell2010

Text.Chatty.Interactor.Templates

Description

Declares serveral templates for comfortable instance derivation

Synopsis

Documentation

mkScanner :: Name -> Q [Dec] Source #

Automatically derives a ChScanner instance for you.

mkPrinter :: Name -> Q [Dec] Source #

Automatically derives a ChPrinter instance for you.

mkFinalizer :: Name -> Q [Dec] Source #

Automatically derives a ChFinalizer instance for you.

mkExpander :: Name -> Q [Dec] Source #

Automatically derives a ChExpand instance for you.

mkExpanderEnv :: Name -> Q [Dec] Source #

Automatically derives an ChExpanderEnv instance for you

mkHistoryEnv :: Name -> Q [Dec] Source #

Automatically derives a ChHistoryEnv instance for you

mkInteractor :: InteractorMaker i => Name -> i Source #

mkInteractor takes a type name and a list of typeclass derivers and applies them all.

mkChatty :: Name -> Q [Dec] Source #

Automatically derives all chatty typeclasses for you.

mkChannelPrinter :: Name -> Name -> Q [Dec] Source #

Automatically derives a ChChannelPrinter instance for you.

mkDefCP :: Name -> Q [Dec] Source #

Automatically derives ChChannelPrinter instances for Int, Bool and Handle channels.

mkArchiver :: Name -> Q [Dec] Source #

Automatically derives all chatty typeclasses that are sensible for an ArchiverT.

mkExtendedPrinter :: Name -> Q [Dec] Source #

Automatically derives an ChExtendedPrinter instance for you.

mkBufferedScanner :: Name -> Q [Dec] Source #

Automatically derives a ChBufferedScanner instance for you.

mkCounter :: Name -> Q [Dec] Source #

Automatically derives a ChCounter instance for you.

mkAtoms :: Name -> Q [Dec] Source #

Automatically derives a ChAtoms instance for you.