open_hypergraphs/lib.rs
1//! # Open Hypergraphs
2//!
3//! A library for representing the two-dimensional syntax of *string diagrams*.
4//! Use it if you think of your data in terms of "boxes and wires" like this:
5//!
6//! ```text
7//! ┌───┐
8//! ────│ f │────┐ ┌───┐
9//! └───┘ └────│ │
10//! │ h │────
11//! ┌───┐ ┌────│ │
12//! ────│ g │────┘ └───┘
13//! └───┘
14//! ```
15//!
16//! A concrete example: neural networks, where wires carry tensors (e.g. a 3×4 matrix) and boxes
17//! are tensor operations (e.g. matmul)
18
19pub mod array;
20pub mod category;
21pub mod finite_function;
22pub mod indexed_coproduct;
23pub mod operations;
24pub mod semifinite;
25
26pub mod hypergraph;
27pub mod open_hypergraph;
28
29pub mod functor;
30pub mod layer;