data-reify-0.6.1: Reify a recursive data structure into an explicit graph.

Safe HaskellNone
LanguageHaskell98

Data.Reify

Synopsis

Documentation

class MuRef a where Source

MuRef is a class that provided a way to reference into a specific type, and a way to map over the deferenced internals.

Associated Types

type DeRef a :: * -> * Source

Methods

mapDeRef :: Applicative f => (forall b. (MuRef b, DeRef a ~ DeRef b) => b -> f u) -> a -> f (DeRef a u) Source

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 Int rather than recursive values.