Crates.io | lambda-types |
lib.rs | lambda-types |
version | 0.2.1 |
source | src |
created_at | 2024-09-06 16:25:45.189117 |
updated_at | 2024-09-06 19:14:29.293346 |
description | Puts the lambda calculus in Rust...'s type system. |
homepage | |
repository | https://github.com/balt-dev/lambda-rs |
max_upload_size | |
id | 1366126 |
size | 178,920 |
An implementation of the Lambda Calculus in Rust, only using ZSTs, traits, and generics.
use lambda_types::prelude::*;
type Two = call! { Successor, Successor, Zero };
type Three = call! { Successor, Two };
type Six = call! { Multiply, Three, Two };
type Seven = call! { Successor, Six };
static THE_MEANING_OF_LIFE: call! {
ToNumber { Multiply, Six, Seven }
} = ConstNumber::<{b'*' as u64}>; // 42