# CombinatorialEnumeration.jl

This package implements a constrained search algorithm, with constraints
specified in the language of
sketches / category theory.
Formally, given a finite (co)- limit sketch, we enumerate its models *up to
isomorphism*. See more in the
documentation (also found here, if GitHub pages isn't working),
and some examples are in the top-level `data/`

directory.

## Status

This is very experimental code, so there may be frequent breaking changes. There is great opportunity for massive speed-ups - really the most basic implementations to get something running is all that is written so far, but done so in a modular way (e.g. enforcing cone constraints, enforcing cocone constraints) so that bottlenecks can be identified and improved piecemeal.