{-| Module : FiniteCategories Description : An example of cone category. Copyright : Guillaume Sabbagh 2021 License : GPL-3 Maintainer : guillaumesabbagh@protonmail.com Stability : experimental Portability : portable An example of cone category. -} module ExampleConeCategory.ExampleLeftCone ( main ) where import System.Random import ExportGraphViz.ExportGraphViz import ConeCategory.LeftCone import Diagram.Diagram import FiniteCategory.FiniteCategory import IO.Parsers.SafeCompositionGraphFunctor -- | Export the cone category as a pdf with GraphViz. main = do putStrLn "Start of ExampleLeftCone" diag <- readFSCGFile "test/ExampleConeCategory/diagram.fscg" let leftCone = LeftCone (src diag) let inclusionLeftCone = inclusionFunctor leftCone let coneCat = ConeCategory diag catToPdf (src diag) "OutputGraphViz/Examples/ConeCategory/LeftCone/I" catToPdf leftCone "OutputGraphViz/Examples/ConeCategory/LeftCone/leftCone" diagToPdf inclusionLeftCone "OutputGraphViz/Examples/ConeCategory/LeftCone/inclusionFunctor" diagToPdf2 inclusionLeftCone "OutputGraphViz/Examples/ConeCategory/LeftCone/inclusionDiagram" diagToPdf diag "OutputGraphViz/Examples/ConeCategory/LeftCone/diagAsFunct" diagToPdf2 diag "OutputGraphViz/Examples/ConeCategory/LeftCone/diag" catToPdf coneCat "OutputGraphViz/Examples/ConeCategory/LeftCone/coneCategory" diagToPdf ((ob coneCat) !! 0) "OutputGraphViz/Examples/ConeCategory/LeftCone/exampleOfCone" diagToPdf2 ((ob coneCat) !! 0) "OutputGraphViz/Examples/ConeCategory/LeftCone/exampleOfConeAsDiag" putStrLn "End of ExampleLeftCone"