The data-reify package
data-reify provided the ability to turn recursive structures into explicit graphs. Many (implicitly or explicitly) recursive data structure can be given this ability, via a type class instance. This gives an alternative to using Ref for observable sharing.
Observable sharing in general is unsafe (hence the module path name Data.Unsafe.Reify), but can be used safely if some simple conditions are met. Typically this package will be used to tie the knot with DSL's that depend of observable sharing, like Lava.
Providing an instance for MuRef is the mechanism for allowing a structure to be reified into a graph, and four examples of this are provided.
Version 0.2 of data-reify uses StableNames, and is much faster.
© 2009 Andy Gill; BSD3 license.
|Versions||0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6.1|
|Change log||None available|
|Dependencies||base, containers [details]|
|Copyright||(c) 2009 Andy Gill|
|Maintainer||Andy Gill <firstname.lastname@example.org>|
|Category||Language, Data, Parsing, Reflection|
|Executables||data-reify-test4, data-reify-test3, data-reify-test2, data-reify-test1|
|Uploaded||Fri May 1 04:00:08 UTC 2009 by AndyGill|
|Distributions||Fedora:0.6, LTSHaskell:0.6.1, NixOS:0.6.1, Stackage:0.6.1|
|Downloads||3999 total (53 in last 30 days)|
|Status||Docs uploaded by user|
Build status unknown [no reports yet]
For package maintainers and hackage trustees