packages feed

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"