Skip to content

rust-effects

rust-effects pairs algebraic effects with serious type theory. It provides:

  • A freer monad effect system built on an FTCQueue (Kiselyov & Ishii, 2015) for efficient continuation handling
  • Dependent types and graded linear types
  • An MLTT type-checking kernel

It is a Rust port of the nix-effects kernel; see docs.kleisli.io for the underlying theory and general API.

rust-effects is the type theoretic end of the effects family. Where fx-rs offers Kyo-style abilities for everyday Rust, rust-effects ports the dependently typed nix-effects kernel, the same lineage that informs nfx in Nix.

Source Code Theory (nix-effects) Support this project