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

Copyright | (c) 2009 Andy Gill
License | BSD3
Maintainer | Andy Gill <andygill@ku.edu>
Stability | unstable
Portability | ghc
Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Reify.Graph

Description

This is the shared definition of a `Graph` in Data.Reify.

Synopsis

- data Graph (e :: Type -> Type) = Graph [(Unique, e Unique)] Unique
- type Unique = Int

# Documentation

data Graph (e :: Type -> Type) Source #

`Graph` is a basic graph structure over nodes of the higher kind `e`, with a single root. There is an assumption that there is no Unique used in a node which does not have a corresponding entry is the association list. The idea with this structure is that it is trivial to convert into an `Array`, `IntMap`, or into a Martin Erwig's Functional Graph, as required.

Constructors

Graph [(Unique, e Unique)] Unique |

#### Instances

Instances details

Show (e Unique) => Show (Graph e) Source # | If `e` is s Functor, and `e` is `Show`-able, then we can `Show` a `Graph`.
Instance details Defined in Data.Reify.Graph Methods showsPrec :: Int -> Graph e -> ShowS Source # show :: Graph e -> String Source # showList :: [Graph e] -> ShowS Source #

type Unique = Int Source #