The goal of this project is to show how behaviour can be specified with different programming languages and their individual features.
For Python typing.Protocols is used. For the Rust/Scala implementation traits and typeclasses are used respecitvely.
Install nix and direnv. Afterwards execute
direnv allowand reload your shell. Now you should be ready to go to execute the scripts. For example via just run-python