chatty-0.3.1.4: Some monad transformers and typeclasses to simplify I/O on a transformer stack.

Safe HaskellNone

Text.Chatty.Interactor.Templates

Description

Declares serveral templates for comfortable instance derivation

Synopsis

Documentation

mkScanner :: Name -> Q [Dec]Source

Automatically derives a MonadScanner instance for you.

mkPrinter :: Name -> Q [Dec]Source

Automatically derives a MonadPrinter and an ExtendedPrinter instance for you.

mkFinalizer :: Name -> Q [Dec]Source

Automatically derives a MonadFinalizer instance for you.

mkExpander :: Name -> Q [Dec]Source

Automatically derives a MonadExpand instance for you.

mkExpanderEnv :: Name -> Q [Dec]Source

Automatically derives an ExpanderEnv instance for you

mkHistoryEnv :: Name -> Q [Dec]Source

Automatically derives a HistoryEnv 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 MonadSpawn instance for you.

mkRandom :: Name -> Q [Dec]Source

Automatically derives a MonadRandom instance for you.

mkClock :: Name -> Q [Dec]Source

Automatically derives a MonadClock instance for you.

mkChatty :: Name -> Q [Dec]Source

Automatically derives all chatty typeclasses for you.