FiniteCategoriesGraphViz: Transform objects of the package FiniteCategories into graphs using GraphViz.

[ data, gpl, library, maths ] [ Propose Tags ]

A way to visualize finite categories of the package FiniteCategories thanks to GraphViz. See FiniteCategories for examples of categories.

[Skip to Readme]


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],
Change log
Dependencies base (>=4 && <5), containers (>=0.6.4 && <0.7), directory (>=1.3.6 && <1.4), fgl (>=5.8.0 && <5.9), filepath (>=1.4.2 && <1.5), FiniteCategories (>= && <, graphviz (>=2999.20.1 && <2999.21), process (>=1.6.11 && <1.7), random (>=1.2.1 && <1.3), text (>=1.0 && <2.2), WeakSets (>= && <1.6) [details]
License GPL-3.0-or-later
Author Guillaume Sabbagh
Category Maths, Data
Home page
Uploaded by gsabbagh at 2023-10-10T12:54:53Z
Downloads 24 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for FiniteCategoriesGraphViz-

[back to package description]


The goal of this project is to represent small finite categories in order to make usual constructions automatically on them (e.g. (co)limits, (co)completion, adjunctions, etc.)

Table of Contents

  1. General Info
  2. Technologies
  3. Installation
  4. Collaboration
  5. Examples

General Info

This package provides tools to export categories of the FiniteCategories using GraphViz. See the package FiniteCategories on hackage.


The project uses GraphViz for visualizing the categories created.


To use the graphviz exports, you must first install graphviz (see graphviz website) and make sure that Graphviz folder is in the path (dot should be a callable program from your terminal, if you are on Windows see this tutorial and if you are on unix see this tutorial).

Then you can call the functions catToPdf, diagToPdf, diag2ToPdf, natToPdf.


All contributions are appreciated! Contact me by email for any information.


To run all examples of the project, clone the repository and run in a terminal from the repository the following command :

cabal test

You can then find the graphviz output in the folder OutputGraphViz/.


A category exported with graphviz looks like the following image :


A diagram on this category selecting two objects C and D is represented next :


A cone on this diagram follows, the apex of the cone is in green, its legs are in yellow and the diagram is in blue :


The limiting cone is represented below, it is the product of the two objects C and D.