{-| Module : FiniteCategories Description : Examples of functor conversion. Copyright : Guillaume Sabbagh 2021 License : GPL-3 Maintainer : guillaumesabbagh@protonmail.com Stability : experimental Portability : portable Examples of functor conversion. -} module ExampleDiagram.ExampleConversion ( main ) where import RandomDiagram.RandomDiagram import Diagram.Conversion import ExportGraphViz.ExportGraphViz import System.Random import Data.Maybe (diag,newGen) = (defaultMkRandomDiagram (mkStdGen 745678)) finFunct = diagramToFinFunctor diag partialFunct = diagramToPartialFunctor diag Just finFunct2 = partialFunctorToFinFunctor partialFunct partialFunct2 = finFunctorToPartialFunctor finFunct -- | Export the diagram as a pdf with GraphViz. main = do putStrLn "Start of ExampleConversion" diagToPdf diag "OutputGraphViz/Examples/Diagram/Conversion/diag" diagToPdf (finFunctorToDiagram finFunct) "OutputGraphViz/Examples/Diagram/Conversion/finFunct" diagToPdf (fromJust $ partialFunctorToDiagram partialFunct) "OutputGraphViz/Examples/Diagram/Conversion/partialFunct" diagToPdf (finFunctorToDiagram finFunct2) "OutputGraphViz/Examples/Diagram/Conversion/finFunct2" diagToPdf (fromJust $ partialFunctorToDiagram partialFunct2) "OutputGraphViz/Examples/Diagram/Conversion/partialFunct2" putStrLn "End of ExampleConversion"