@hackage FiniteCategoriesGraphViz0.1.0.0

Transform objects of the package FiniteCategories into graphs using GraphViz.

FiniteCategoriesGraphViz

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.

Technologies

The project uses GraphViz for visualizing the categories created.

Installation

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.

Collaboration

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

Usage

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/.

Examples

A category exported with graphviz looks like the following image :

Category

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

Diagram

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 :

Cone

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

Limit