Crate lambek[][src]

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

functor

The standard Functor, Applicative, and Monad traits.

nat_trans

Natural Transformation, type f ~> g = forall x. f x -> g x

product

Extensible Products

row

Traits for implementing extensible products and variants

sum

Extensible Variants

type_app

Traits for the kind of unary type application, Type -> Type.