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§
- bi_
type_ app - Traits for the kind of binary type application,
Type -> Type -> Type. - constraint
- Traits for constraint kinds,
Type -> Constraint - function
- functor
- The standard
Functor,Applicative, andMonadtraits. - nat
- nat_
trans - Natural Transformation,
type f ~> g = forall x. f x -> g x - product
- Extensible Products
- reference
- refl
- Implementation for the type quality constraint, a.k.a. reflexivity.
- row
- Traits for implementing extensible products and variants
- sum
- Extensible Variants
- type_
app - Traits for the kind of unary type application,
Type -> Type.