Copyright | 2016 Kei Hibino |
---|---|
License | BSD3 |
Maintainer | ex8k.hibino@gmail.com |
Stability | experimental |
Portability | unknown |
Safe Haskell | Safe |
Language | Haskell2010 |
Language.Haskell.TH.Compat.Reify
Contents
Description
This module provides compatibility definitions of destructuring result type of reify for before temaplate-haskell-2.11
Synopsis
- unClassOpI :: Info -> Maybe (Name, Type, ParentName)
- unDataConI :: Info -> Maybe (Name, Type, ParentName)
- unVarI :: Info -> Maybe (Name, Type, Maybe Dec)
- reifyFixity :: Name -> Q (Maybe Fixity)
- type ParentName = Name
Interfaces to destruct reify result
unClassOpI :: Info -> Maybe (Name, Type, ParentName) Source #
Compatible interface to destruct ClassOpI
unDataConI :: Info -> Maybe (Name, Type, ParentName) Source #
Compatible interface to destruct DataConI
Interface to get operator fixity
reifyFixity :: Name -> Q (Maybe Fixity) #
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
. If the function
Just
(Fixity
7 InfixR
)bar
does not have a fixity declaration, then reifyFixity 'bar
returns
Nothing
, so you may assume bar
has defaultFixity
.
Interface of type alias name
type ParentName = Name #