maybevoid/lambek
{ "createdAt": "2021-03-23T07:41:04Z", "defaultBranch": "master", "description": "Type-Level Programming in Rust", "fullName": "maybevoid/lambek", "homepage": "https://maybevoid.github.io/lambek-doc", "language": "Rust", "name": "lambek", "pushedAt": "2021-12-29T22:29:06Z", "stargazersCount": 27, "topics": [], "updatedAt": "2025-10-19T15:20:14Z", "url": "https://github.com/maybevoid/lambek"}Lambek: Type-Level Programming in Rust
Section titled “Lambek: Type-Level Programming in Rust”[![Crates.io][crates-badge]][crates-url] [![Documentation][doc-badge]][doc-url] [![Apache licensed][license-badge]][license-url] [![Build Status][actions-badge]][actions-url]
[crates-badge] !: https://img.shields.io/crates/v/lambek.svg [crates-url] !: https://crates.io/crates/lambek [doc-badge] !: https://img.shields.io/badge/docs-latest-blue.svg?style=flat-square [doc-url] !: https://maybevoid.com/lambek-doc/lambek/ [license-badge] !: https://img.shields.io/crates/l/lambek.svg [license-url] !: https://github.com/maybevoid/lambek/blob/master/LICENSE [actions-badge] !: https://github.com/maybevoid/lambek/workflows/Cargo%20Tests/badge.svg [actions-url] !: https://github.com/maybevoid/lambek/actions
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.
Lambek is currently in early development phase. The techniques presented in Lambek are from the author’s experience in developing Ferrite.