diff options
| author | Arnaud Bailly <arnaud.bailly@iohk.io> | 2024-09-25 14:44:42 +0200 |
|---|---|---|
| committer | Arnaud Bailly <arnaud.bailly@iohk.io> | 2024-09-25 14:44:42 +0200 |
| commit | ceca65688101cb3275debe1b8e34198245d18c2d (patch) | |
| tree | da2e41b6921d742f2b9387d2cf090c1f52a65d0e /rust/src/lambda.rs | |
| parent | 0fed41e6afbf32d274660cc3ec435686901d12c4 (diff) | |
| download | lambda-nantes-ceca65688101cb3275debe1b8e34198245d18c2d.tar.gz | |
Check variables are resolved across scopes
Diffstat (limited to 'rust/src/lambda.rs')
| -rw-r--r-- | rust/src/lambda.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/src/lambda.rs b/rust/src/lambda.rs index 416c31e..5dbcdb2 100644 --- a/rust/src/lambda.rs +++ b/rust/src/lambda.rs @@ -241,4 +241,10 @@ mod lambda_test { let values = parse("(let (foo (lam x x)) ((let (foo foo) foo) 13))"); assert_eq!(vec![Value::Num(13)], eval_all(&values)); } + + #[test] + fn bound_symbol_in_higher_scope_are_resolved() { + let values = parse("(let (id (lam x x)) (let (foo 12) (id foo)))"); + assert_eq!(vec![Value::Num(12)], eval_all(&values)); + } } |
