Expand description
The module that defines the basic lambda calculus used to compose expressions in the langauge of thought.
Modules§
- types
- Defines the basic type system of the lambda calculus
Structs§
- Lambda
Expr Ref - An index to a
LambdaExprin the lambda pool. - Rooted
Lambda Pool - A lambda expression with its root defined.
Enums§
- FreeVar
- A free variable which can either be named or refered to by a integer.
- Lambda
Error - Errors resulting from interacting with a lambda calculus expression.
- Lambda
Expr - The core expression type of a lambda term
- Lambda
Summary Stats - Details about a
RootedLambdaPool - Lambda
TryFrom Error - A conversion error used when converting to a
RootedLambdaPoolfrom aVec<Option<LambdaExpr>> - Reduction
Error - An error from a faulty reduction
Traits§
- Hash
Lambda - In order to hash a
RootedLambdaPool, this trait must be implemented. It allows trees to be hashed without regard for the precise layout of their pools, only the actual tree. - Lambda
Language OfThought - A trait which allows one to define a language of thought that interacts with the lambda
calculus. An example implementation can be found for
crate::language::Expr.