FiniteCategories-0.1.0.0: test/ExampleCompositionGraph/ExampleFinSetToCompositionGraph.hs
{-| Module : FiniteCategories
Description : An example of conversion from a `FinOrdSet` category to a `CompositionGraph`.
Copyright : Guillaume Sabbagh 2021
License : GPL-3
Maintainer : guillaumesabbagh@protonmail.com
Stability : experimental
Portability : portable
An example of conversion from a `FinOrdSet` category to a `CompositionGraph`.
-}
module ExampleCompositionGraph.ExampleFinSetToCompositionGraph
(
main
)
where
import CompositionGraph.CompositionGraph
import Set.FinOrdSet
import Data.Set (fromList)
import ExportGraphViz.ExportGraphViz
import qualified FiniteCategory.FiniteCategory as FinCat (FiniteCategoryError(..))
import Data.Text (Text, pack)
finSet = FinOrdSet [fromList [1,2], fromList [3]] :: FinOrdSet Int
(cg, iso) = generatedFiniteCategoryToCompositionGraph finSet
-- | Exports the composition graph as pdf file with GraphViz.
main = do
putStrLn "Start of ExampleFinSetToCompositionGraph"
catToPdf finSet "OutputGraphViz/Examples/CompositionGraph/FinSetToCompositionGraph/finSet"
catToPdf cg "OutputGraphViz/Examples/CompositionGraph/FinSetToCompositionGraph/compositionGraph"
diagToPdf iso "OutputGraphViz/Examples/CompositionGraph/FinSetToCompositionGraph/funct"
diagToPdf2 iso "OutputGraphViz/Examples/CompositionGraph/FinSetToCompositionGraph/diag"
putStrLn "End of ExampleFinSetToCompositionGraph"