summaryrefslogtreecommitdiff
path: root/rust
diff options
context:
space:
mode:
Diffstat (limited to 'rust')
-rw-r--r--rust/src/lambda.rs6
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));
+ }
}