packages feed

FiniteCategories-0.1.0.0: test/ExampleDiagram/ExampleSelectZeroDiagram.hs

{-| Module  : FiniteCategories
Description : An example of select0 diagram.
Copyright   : Guillaume Sabbagh 2021
License     : GPL-3
Maintainer  : guillaumesabbagh@protonmail.com
Stability   : experimental
Portability : portable

An example of select0 diagram.
-}
module ExampleDiagram.ExampleSelectZeroDiagram
(
    selectZero,
    main
)
where
    import              RandomCompositionGraph.RandomCompositionGraph
    import              System.Random                                   
    import              ExportGraphViz.ExportGraphViz                   (catToPdf,diagToPdf,diagToPdf2)
    import              Diagram.Diagram                                 (mkSelect0, src)

    (rcg1,newGen) = (mkRandomCompositionGraph 10 10 3 (mkStdGen 56))
    
    -- | We select no object in the category.
    selectZero = mkSelect0 rcg1 

    -- | Export the diagram as a pdf with GraphViz.
    main = do 
        putStrLn "Start of ExampleSelectZeroDiagram"
        catToPdf rcg1 "OutputGraphViz/Examples/Diagram/SelectZeroDiagram/rcg1"
        catToPdf (src selectZero) "OutputGraphViz/Examples/Diagram/SelectZeroDiagram/Zero"
        diagToPdf selectZero "OutputGraphViz/Examples/Diagram/SelectZeroDiagram/functor"
        diagToPdf2 selectZero "OutputGraphViz/Examples/Diagram/SelectZeroDiagram/diag"
        putStrLn "End of ExampleSelectZeroDiagram"