FiniteCategories-0.1.0.0: test/ExampleDiagram/ExampleIdentityDiagram.hs
{-| Module : FiniteCategories
Description : An example of identity diagram.
Copyright : Guillaume Sabbagh 2021
License : GPL-3
Maintainer : guillaumesabbagh@protonmail.com
Stability : experimental
Portability : portable
An example of identity diagram.
-}
module ExampleDiagram.ExampleIdentityDiagram
(
identityDiag,
main
)
where
import RandomCompositionGraph.RandomCompositionGraph
import System.Random
import ExportGraphViz.ExportGraphViz (catToPdf,diagToPdf,diagToPdf2)
import Diagram.Diagram (mkIdentityDiagram)
import FiniteCategory.FiniteCategory
(rcg1,newGen) = (defaultMkRandomCompositionGraph (mkStdGen 83456789))
-- | The identity diagram on a random composition graph.
identityDiag = mkIdentityDiagram rcg1
-- | Export the constant diagram as a pdf with GraphViz.
main = do
putStrLn "Start of ExampleIdentityDiagram"
catToPdf rcg1 "OutputGraphViz/Examples/Diagram/IdentityDiagram/rcg1"
diagToPdf identityDiag "OutputGraphViz/Examples/Diagram/IdentityDiagram/functor"
diagToPdf2 identityDiag "OutputGraphViz/Examples/Diagram/IdentityDiagram/diag"
putStrLn "End of ExampleIdentityDiagram"