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

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.

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.

mkCounter :: Name -> Q [Dec] Source

Automatically derives a ChCounter instance for you.

mkAtoms :: Name -> Q [Dec] Source

Automatically derives a ChAtoms instance for you.

mkFilesys :: Name -> Q [Dec] Source

Automatically derives instances for ChFilesystem, CanLoad, CanSave, CanMount.