chatty-0.6.1.0: Some monad transformers and typeclasses for abstraction of global dependencies.

Safe HaskellNone

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 -> iSource

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

mkSpawn :: Name -> Q [Dec]Source

Automatically derives a ChSpawn instance for you.

mkRandom :: Name -> Q [Dec]Source

Automatically derives a ChRandom instance for you.

mkClock :: Name -> Q [Dec]Source

Automatically derives a ChClock instance for you.

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.