Safe Haskell | None |
---|---|
Language | Haskell2010 |
- pprint' :: (Ppr a, Data a) => a -> [Char]
- class OverTypes t where
- unlifted :: (OverTypes t, Quasi m) => t -> m Bool
- constructorName :: Con -> Name
- declarationName :: Dec -> Maybe Name
- declarationType :: Dec -> Maybe Type
- unReify :: Data a => a -> a
- unReifyName :: Name -> Name
- adjacent' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> key -> [key]
- reachable' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> key -> [key]
- newtype L a = L a
- friendlyNames :: Data a => a -> a
Documentation
pprint' :: (Ppr a, Data a) => a -> [Char] Source
Pretty print a Ppr
value on a single line with each block of
white space (newlines, tabs, etc.) converted to a single space, and
all the module qualifiers removed from the names.
unlifted :: (OverTypes t, Quasi m) => t -> m Bool Source
Does the type or the declaration to which it refers contain a
primitive (aka unlifted) type? This will traverse down any Dec
to the named types, and then check whether any of their Info
records are PrimTyConI
values.
constructorName :: Con -> Name Source
declarationName :: Dec -> Maybe Name Source
declarationType :: Dec -> Maybe Type Source
unReifyName :: Name -> Name Source
adjacent' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> key -> [key] Source
Return a key's list of adjacent keys
reachable' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> key -> [key] Source
Return a key's list of reachable keys
friendlyNames :: Data a => a -> a Source
Make a template haskell value more human reader friendly. The result almost certainly won't be compilable. That's ok, though, because the input is usually uncompilable - it imports hidden modules, uses infix operators in invalid positions, puts module qualifiers in places where they are not allowed, and maybe other things.