module Data.Generics.Is {-# DEPRECATED "Import \"Data.Generics.Is.TH\" directly, or port your code to using \"Data.Generics.Is.Generic\"." #-} ( -- | Generate predicates from constructor names or from quoted patterns. -- -- We provide three implementations of the functions @is@ and @isNot@, each -- relying on a different generic programming technique. -- -- [Template Haskell] "Data.Generics.Is.TH". Most flexible and efficient, works on GADTs. -- Requires access to the type declaration; it can also declare predicate functions -- from each constructor of a given type. -- -- [Generics] "Data.Generics.Is.Generic". Safe. Requires an instance of 'GHC.Generics.Generic'. -- It performs faster than SYB, according to <http://stackoverflow.com/a/17503441/2369398 this StackOverflow answer>. -- -- [Scrap Your Boilerplate] "Data.Generics.Is.Data". -- Safe. Works only on monomorphic values. -- Requires an instance of 'Data.Data.Data'. module Data.Generics.Is.TH ) where import Data.Generics.Is.TH