registry-0.1.0.2: data structure for assembling "components"

Safe HaskellNone
LanguageHaskell2010

Data.Registry.Dot

Description

This modules provides functions to extract a DOT graph (https:/en.wikipedia.orgwiki/DOT_(graph_description_language) out of a Registry.

Synopsis

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)