| Copyright | (C) 2017 ATS Advanced Telematic Systems GmbH Li-yao Xia | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | Li-yao Xia <lysxia@gmail.com> | 
| Stability | provisional | 
| Portability | non-portable (GHC extensions) | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Test.StateMachine.TH
Description
Template Haskell functions to derive common type classes for testing with quickcheck-state-machine.
- deriveTestClasses :: Name -> Q [Dec]
 - deriveHClasses :: Name -> Q [Dec]
 - deriveHFunctor :: Name -> Q [Dec]
 - deriveHFoldable :: Name -> Q [Dec]
 - deriveHTraversable :: Name -> Q [Dec]
 - deriveConstructors :: Name -> Q [Dec]
 - deriveShows :: Name -> Q [Dec]
 - deriveShow :: Name -> Q [Dec]
 - deriveShowUntyped :: Name -> Q [Dec]
 - mkShrinker :: Name -> Q Exp
 
Special classes for Action types
deriveTestClasses :: Name -> Q [Dec] Source #
Derive instances of
 HFunctor,
 HFoldable,
 HTraversable,
 Constructor.
Components
deriveHClasses :: Name -> Q [Dec] Source #
Derive HFunctor, HFoldable, HTraversable.
deriveHFunctor :: Name -> Q [Dec] Source #
deriveHFunctor''Action ===> instanceHFunctorAction where ...
deriveHFoldable :: Name -> Q [Dec] Source #
deriveHFoldable''Action ===> instanceHFoldableAction where ...
deriveHTraversable :: Name -> Q [Dec] Source #
deriveHTraversable''Action ===> instanceHTraversableAction where ...
deriveConstructors :: Name -> Q [Dec] Source #
deriveConstructors''Action ===> instanceConstructorsAction where ...
Show
deriveShows :: Name -> Q [Dec] Source #
Given a name ''Action,
 derive Show for (Action v a) and (.
 See Untyped Action)deriveShow and deriveShowUntyped.
deriveShow :: Name -> Q [Dec] Source #
deriveShow''Action ===> deriving instanceShow1v =>Show(Action v a)@.
deriveShowUntyped :: Name -> Q [Dec] Source #
deriveShowUntyped''Action ===> deriving instanceShow(UntypedAction)
Shrink
mkShrinker :: Name -> Q Exp Source #
$(
 creates a generic shrinker of type mkShrinker ''Action)(Action v a -> [Action v a])
 which ignores Reference fields.