diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-10-09 16:06:24 +0200 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-10-09 16:06:24 +0200 |
| commit | 68d05695856709ee1c251e496fb5b79a17134dbc (patch) | |
| tree | 8fb87c3575c1b30ea501540c410d38e58f09d588 /lambda-calcul/rust/src/ast.rs | |
| parent | ecb4c59eb89a01ee2dea6495f6287cd0709ce403 (diff) | |
| download | lambda-nantes-68d05695856709ee1c251e496fb5b79a17134dbc.tar.gz | |
feat: introduce arrow types
Diffstat (limited to 'lambda-calcul/rust/src/ast.rs')
| -rw-r--r-- | lambda-calcul/rust/src/ast.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lambda-calcul/rust/src/ast.rs b/lambda-calcul/rust/src/ast.rs index 18aaaa7..bdfb963 100644 --- a/lambda-calcul/rust/src/ast.rs +++ b/lambda-calcul/rust/src/ast.rs @@ -9,6 +9,7 @@ use std::fmt::{self, Display}; pub enum Type { Num, Bool, + Arr(Box<Type>, Box<Type>), } impl Display for Type { @@ -75,7 +76,7 @@ impl Display for Value { Value::Lam(var, body) => write!(f, "(lam {} {})", var, body), Value::Def(var, value) => write!(f, "(def {} {})", var, value), Value::Let(var, value, body) => write!(f, "(let ({} {}) {})", var, value, body), - Value::TLam(var,typ, body) => write!(f, "(lam ({} {}) {})", var, typ, body), + Value::TLam(var,typ, body) => write!(f, "(tlam ({} {}) {})", var, typ, body), Value::Type(typ) => write!(f, ":{}", typ), } } |
