Expand description
§lambda-types
§
Implements the Lambda Calculus in Rust’s type system.
There is zero runtime functionality or procedural macros in this crate - it’s all done using generics, traits, and associated types.
If you want to toy around with this, check out the prelude
.
If you want to write your own function types, check out the Macros.
The Y combinator is left unimplemented, as Rust evaluates types greedily, making it unusable.
Modules§
- boolean
- Function types relating to boolean algebra.
- datatypes
- Function types relating to the “pair” datatype, and singly linked lists made out of them.
- macros
- Helper macros for easier definition and usage of function types.
- math
- Function types relating to church numerals and mathematics.
- prelude
- A module you can glob import to get many useful things in scope.
- primitives
- Primitive constructs that are often useful.
Macros§
- call
- Ergonomic wrapper macro for calling a function.
- chained
- Chains applications of a function onto many arguments.
- define
- Helper macro for easily defining types that implement
crate::Function
.