-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Template Haskell support for generating `GenericK` instances -- -- This package provides Template Haskell functionality to automatically -- derive GenericK instances (from the kind-generics -- library). @package kind-generics-th @version 0.2.3.1 -- | Main module of kind-generics-th. Please refer to the -- README file for documentation on how to use this package. module Generics.Kind.TH -- | Given the Name of a data type (or, the Name of a -- constructor belonging to a data type), generate GenericK -- instances for that data type. You will likely need to enable most of -- these language extensions in order for GHC to accept the generated -- code: -- -- -- -- If the data type uses type families, deriveGenericK warns that -- it skips the GenericK instances that require special support -- for it -- -- deriveGenericK :: Name -> Q [Dec] -- | Variant of deriveGenericK that doesn't emit warnings. deriveGenericKQuiet :: Name -> Q [Dec] -- | Generate GenericK instances for data types that may mention -- type families. -- -- This preDeriveGenericK is to be used in combination with -- postDeriveGenericK. These two functions let us stage the -- compilation of the generated type instances, because GHC cannot -- compile them in a single group. -- -- -- --
--   preDeriveGenericK ''MyT1
--   preDeriveGenericK ''MyT2
--   preDeriveGenericK ''MyT3
--   postDeriveGenericK
--   
-- -- You will need to enable the extensions UndecidableInstances -- and PolyKinds (even if your data types are not poly-kinded) -- in addition to those mentioned in the documentation of -- deriveGenericK. preDeriveGenericK :: Name -> Q [Dec] -- | See preDeriveGenericK. postDeriveGenericK :: Q [Dec]