ia0/lafont
{ "createdAt": "2018-02-08T09:43:35Z", "defaultBranch": "master", "description": "Animation of Yves Lafont's Interaction Combinators", "fullName": "ia0/lafont", "homepage": "", "language": "Rust", "name": "lafont", "pushedAt": "2022-01-30T15:08:35Z", "stargazersCount": 19, "topics": [ "graphics", "rust" ], "updatedAt": "2025-07-16T08:41:04Z", "url": "https://github.com/ia0/lafont"}Animation of Yves Lafont’s Interaction Combinators
Section titled “Animation of Yves Lafont’s Interaction Combinators”[Interaction combinators][article] are a universal model of distributed computation devised by Yves Lafont in 1997. They are a particular instance of [Interaction nets][wikipedia]. Interaction nets are a graphical model of computation also devised by Yves Lafont in 1990.
This project renders the computation of interaction combinators in a simplified physical 3D world where agents are spheres and edges are invisible.
![example]!(/img/1.png) ![example]!(/img/2.png) ![example]!(/img/3.png) ![example]!(/img/4.png)
How to run
Section titled “How to run”To run with the slowest speed and without edges:
cargo run --releaseTo run faster, use -n with an iteration count (every nth step is displayed):
cargo run --release -- -n2To run with edges, use -v (can be combined with -n):
cargo run --release -- -vHow to install
Section titled “How to install”You can install the latest version released on https://crates.io/crates/lafont with:
cargo install lafontOr you can install the latest commit from https://github.com/ia0/lafont with:
cargo install --git=https://github.com/ia0/lafont.git lafontThe binary will be installed as ~/.cargo/bin/lafont by default.
If you don’t have cargo (the Rust package manager), install it through
https://rustup.rs/ or through your package manager (e.g. apt install cargo on
Debian-like machines).
Disclaimer
Section titled “Disclaimer”This is not an official Google product.
[article] !: https://dl.acm.org/citation.cfm?id=264415 [wikipedia] !: https://en.wikipedia.org/wiki/Interaction_nets