138 lines
4.4 KiB
Plaintext
138 lines
4.4 KiB
Plaintext
Name: data-reify
|
|
Version: 0.6.3
|
|
x-revision: 1
|
|
Synopsis: Reify a recursive data structure into an explicit graph.
|
|
Description: '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, so we use the IO monad to bound this effect,
|
|
but can be used safely even with 'unsafePerformIO' 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 several examples of this are provided.
|
|
.
|
|
© 2009 Andy Gill; BSD3 license.
|
|
|
|
Category: Language, Data, Parsing, Reflection
|
|
License: BSD3
|
|
License-file: LICENSE
|
|
Author: Andy Gill
|
|
Maintainer: Andy Gill <andygill@ku.edu>
|
|
Copyright: (c) 2009 Andy Gill
|
|
Homepage: http://ku-fpg.github.io/software/data-reify/
|
|
Stability: alpha
|
|
build-type: Simple
|
|
Cabal-Version: >= 1.10
|
|
tested-with: GHC == 7.0.4
|
|
, GHC == 7.2.2
|
|
, GHC == 7.4.2
|
|
, GHC == 7.6.3
|
|
, GHC == 7.8.4
|
|
, GHC == 7.10.3
|
|
, GHC == 8.0.2
|
|
, GHC == 8.2.2
|
|
, GHC == 8.4.4
|
|
, GHC == 8.6.5
|
|
, GHC == 8.8.3
|
|
, GHC == 8.10.1
|
|
extra-source-files: CHANGELOG.md, README.md
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/ku-fpg/data-reify
|
|
|
|
Flag tests
|
|
Description: Enable full development tree
|
|
Default: False
|
|
|
|
|
|
Library
|
|
Build-Depends: base >= 4 && < 5, hashable, containers, unordered-containers
|
|
Exposed-modules:
|
|
Data.Reify,
|
|
Data.Reify.Graph
|
|
Ghc-Options: -Wall
|
|
if impl(ghc >= 8.6)
|
|
ghc-options: -Wno-star-is-type
|
|
default-language: Haskell2010
|
|
|
|
test-suite spec
|
|
type: exitcode-stdio-1.0
|
|
main-is: Spec.hs
|
|
other-modules: Data.ReifySpec
|
|
build-depends: base >= 4 && < 5
|
|
, base-compat >= 0.11 && < 0.13
|
|
, data-reify
|
|
, hspec == 2.*
|
|
build-tool-depends: hspec-discover:hspec-discover == 2.*
|
|
hs-source-dirs: spec
|
|
default-language: Haskell2010
|
|
ghc-options: -Wall -threaded -rtsopts
|
|
|
|
Executable data-reify-test1
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test1.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|
|
|
|
|
|
Executable data-reify-test2
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test2.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|
|
|
|
Executable data-reify-test3
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test3.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|
|
|
|
Executable data-reify-test4
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test4.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|
|
|
|
Executable data-reify-test5
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test5.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|
|
|
|
Executable data-reify-test6
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test6.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|
|
|
|
Executable data-reify-test7
|
|
Build-Depends: base, data-reify
|
|
Main-Is: Test7.hs
|
|
Hs-Source-Dirs: test
|
|
ghc-options: -Wall
|
|
default-language: Haskell2010
|
|
if !flag(tests)
|
|
buildable: False
|