Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
This module generates a typeclass for a given "record of functions". For this component: @ data Logger m = Logger { _info :: Text -> m () , _error :: Text -> m () }
- - makeTypeClass ''Logger generates
class WithLogger m where info :: Text -> m () error :: Text -> m ()
- - This requires the import of
Typed
from `generic-lens` instance HasType (Logger m) s => WithLogger (ReaderT s m) where info t = ReaderT (l -> _info (getTyped l) t) error t = ReaderT (l -> _error (getType l) t) @
Synopsis
- data TypeclassOptions
- makeTypeclass :: Name -> DecsQ
- makeTypeclassWith :: TypeclassOptions -> Name -> DecsQ
Documentation
data TypeclassOptions Source #
These generation options can be used to tweak the generated names
makeTypeclass :: Name -> DecsQ Source #
Create the haskell code presented in the module description
makeTypeclassWith :: TypeclassOptions -> Name -> DecsQ Source #
Make a typeclass using some specific generation options