Crate lambek[−][src]
Expand description
Lambek is a library that enables type-level programming in stable Rust, supporting advanced features including higher kinded types, higher ranked types, and constraint kinds. Although Rust do not natively support these features, Lambek uses techniques including defunctionalization and CPS transformation to emulate these features in Rust.
Learn more about Lambek on the project GitHub page.
Modules
Traits for the kind of binary type application, Type -> Type -> Type
.
Traits for constraint kinds, Type -> Constraint
The standard Functor
, Applicative
, and Monad
traits.
Natural Transformation, type f ~> g = forall x. f x -> g x
Extensible Products
Implementation for the type quality constraint, a.k.a. reflexivity.
Traits for implementing extensible products and variants
Extensible Variants
Traits for the kind of unary type application, Type -> Type
.