derive-topdown-0.1.0.0: Derive type class instances
Copyright(c) Song Zhang
LicenseBSD-style (see the LICENSE file)
Maintainerhaskell.zhang.song `at` hotmail.com
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Derive.Superclass

Description

 
Synopsis

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.

gnds :: ClassName -> TypeName -> Q [Dec] Source #

Abbreviation for newtype_deriving_superclasses. for generalized newtype deriving