{-| 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"