Copyright | (c) Song Zhang |
---|---|
License | BSD-style (see the LICENSE file) |
Maintainer | haskell.zhang.song `at` hotmail.com |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Derive.Superclass
Description
Synopsis
- deriving_superclasses :: ClassName -> TypeName -> Q [Dec]
- strategy_deriving_superclasses :: DerivStrategy -> ClassName -> TypeName -> Q [Dec]
- newtype_deriving_superclasses :: ClassName -> TypeName -> Q [Dec]
- gnds :: ClassName -> TypeName -> Q [Dec]
Documentation
deriving_superclasses :: ClassName -> TypeName -> Q [Dec] Source #
Note: It cannot be used with mutual recursive types.
For mutual recursive types, you need to put them together. For mutual recursive types T1
and T2
:
fmap concat (sequence [(deriving_superclasses ''Ord ''T1), (deriving_superclasses ''Ord ''T2)])
strategy_deriving_superclasses Source #
Arguments
:: DerivStrategy | deriving strategy |
-> ClassName | class name |
-> TypeName | type name |
-> Q [Dec] |
newtype_deriving_superclasses :: ClassName -> TypeName -> Q [Dec] Source #
Use newtype strategy to derive all the superclass instances.