Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- class MuRef a where
- module Data.Reify.Graph
- reifyGraph :: MuRef s => s -> IO (Graph (DeRef s))
- reifyGraphs :: (MuRef s, Traversable t) => t s -> IO (t (Graph (DeRef s)))
Documentation
MuRef
is a class that provided a way to reference into a specific type,
and a way to map over the deferenced internals.
module Data.Reify.Graph
reifyGraph :: MuRef s => s -> IO (Graph (DeRef s)) Source #
reifyGraph
takes a data structure that admits MuRef
, and returns a Graph
that contains
the dereferenced nodes, with their children as Unique
s rather than recursive values.
reifyGraphs :: (MuRef s, Traversable t) => t s -> IO (t (Graph (DeRef s))) Source #
reifyGraphs
takes a Traversable
container 't s' of a data structure s
admitting MuRef
, and returns a 't (Graph (DeRef s))' with the graph nodes
resolved within the same context.
This allows for, e.g., a list of mutually recursive structures.