pentagram

Crates.iopentagram
lib.rspentagram
version0.1.0
sourcesrc
created_at2020-04-12 16:57:01.745089
updated_at2020-04-12 16:57:01.745089
descriptiongraph library with a focus on ergonomics and minimalism
homepagehttps://gitlab.com/mkovacs/rust-pentagram
repositoryhttps://gitlab.com/mkovacs/rust-pentagram
max_upload_size
id229392
size12,459
Máté Kovács (mkovaxx)

documentation

README

rust-pentagram

Pentagram is a graph library with a focus on ergonomics and minimalism.

Goals

  1. Create an ergonomic yet minimal library.
  2. Encode the semantics of each type of graph (simple vs multi, undirected vs directed, etc) into a trait.
  3. Provide a reference implementation for each trait.
  4. Write each graph algorithm on top of a trait, so it works with multiple graph implementations.

Design

Pentagram is the black sheep of Rust graph libraries. It is inspired by the dark arts of functional programming.

Key Ideas

  • Graphs are functors: nodes and edges contain associated data.
  • Traversals and other algorithms are higher-order functions that allow flexible processing of associated data.
Commit count: 1

cargo fmt