-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Compatibility for the result type of TH reify
--   
--   This package contains compatible interfaces against the result type of
--   TH reify function.
@package th-reify-compat
@version 0.0.1.5

-- | This module provides compatibility definitions of destructuring result
--   type of reify for before temaplate-haskell-2.11
module Language.Haskell.TH.Compat.Reify

-- | Compatible interface to destruct ClassOpI
unClassOpI :: Info -> Maybe (Name, Type, ParentName)

-- | Compatible interface to destruct DataConI
unDataConI :: Info -> Maybe (Name, Type, ParentName)

-- | Compatible interface to destruct VarI
unVarI :: Info -> Maybe (Name, Type, Maybe Dec)

-- | reifyFixity nm attempts to find a fixity declaration for
--   nm. For example, if the function foo has the fixity
--   declaration infixr 7 foo, then reifyFixity 'foo
--   would return Just (Fixity 7 InfixR). If
--   the function bar does not have a fixity declaration, then
--   reifyFixity 'bar returns Nothing, so you may assume
--   bar has defaultFixity.
reifyFixity :: Name -> Q (Maybe Fixity)

-- | In ClassOpI and DataConI, name of the parent class or
--   type
type ParentName = Name
