Safe Haskell | None |
---|---|
Language | Haskell2010 |
- pprint1 :: (Ppr a, Data a) => a -> [Char]
- pprintW :: (Ppr a, Data a) => Int -> a -> [Char]
- pprintL :: (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) -> (Vertex, key) -> [(Vertex, key)]
- reachable' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> (Vertex, key) -> [(Vertex, key)]
- friendlyNames :: Data a => a -> a
Documentation
pprintW :: (Ppr a, Data a) => Int -> a -> [Char] Source #
Pretty print with friendly names and wide lines
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 #
unReifyName :: Name -> Name Source #
adjacent' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> (Vertex, key) -> [(Vertex, key)] Source #
Return a key's list of adjacent keys
reachable' :: forall node key. (Graph, Vertex -> (node, key, [key]), key -> Maybe Vertex) -> (Vertex, key) -> [(Vertex, 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.