Safe Haskell | None |
---|---|
Language | Haskell2010 |
This modules provides functions to extract a DOT graph (https:/en.wikipedia.orgwiki/DOT_(graph_description_language) out of a Registry.
Synopsis
- module Data.Registry.Internal.Operations
- makeDot :: forall a ins out. (Typeable a, Contains a out, Solvable ins out) => Registry ins out -> Dot
- makeDotEither :: forall a ins out. Typeable a => Registry ins out -> Either Text Dot
- makeDotFast :: forall a ins out. (Typeable a, Contains a out) => Registry ins out -> Dot
- makeDotUnsafe :: forall a ins out. Typeable a => Registry ins out -> Dot
- makeOperationsEither :: forall a ins out. Typeable a => Registry ins out -> Either Text Operations
- makeOperationsUnsafe :: forall a ins out. Typeable a => Registry ins out -> Operations
Documentation
makeDot :: forall a ins out. (Typeable a, Contains a out, Solvable ins out) => Registry ins out -> Dot Source #
Make a DOT graph for a specific value a
built from the registry
a
is at the root of the graph and its children are values
needed to build a
makeDotEither :: forall a ins out. Typeable a => Registry ins out -> Either Text Dot Source #
Similar to make
but does not check if a
can be made out of the Regisry
It returns a Left value if that's not the case
makeDotFast :: forall a ins out. (Typeable a, Contains a out) => Registry ins out -> Dot Source #
Similar to make
but does not check if a
can be made out of the Regisry
You can use this version to get faster compilation times
makeDotUnsafe :: forall a ins out. Typeable a => Registry ins out -> Dot Source #
Similar to make
but does not check if a
can be made out of the Regisry
and throws an exception if that's not the case
makeOperationsEither :: forall a ins out. Typeable a => Registry ins out -> Either Text Operations Source #
Return an Operations
value listing all the function applications necessary to
create a value of a given type
makeOperationsUnsafe :: forall a ins out. Typeable a => Registry ins out -> Operations Source #
Return an Operations
value listing all the function applications necessary to
create a value of a given type (and throws an exception if the value cannot be created)