summaryrefslogtreecommitdiff
path: root/lambda-calcul/rust/src/io.rs
diff options
context:
space:
mode:
authorArnaud Bailly <arnaud@pankzsoft.com>2025-10-13 09:18:10 +0200
committerArnaud Bailly <arnaud@pankzsoft.com>2025-10-13 09:18:10 +0200
commit21befc8c8ab2e91632f5341b4fa9425cf3c815ff (patch)
tree1b55f35081c09b399eab347f724c0bfa5b4cf8c9 /lambda-calcul/rust/src/io.rs
parente580a8e4f2d44e646c6861197ef0fcf55aaba1d6 (diff)
downloadlambda-nantes-21befc8c8ab2e91632f5341b4fa9425cf3c815ff.tar.gz
update from workshop 2bis
Diffstat (limited to 'lambda-calcul/rust/src/io.rs')
-rw-r--r--lambda-calcul/rust/src/io.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/lambda-calcul/rust/src/io.rs b/lambda-calcul/rust/src/io.rs
index 8c628ba..4e5fb59 100644
--- a/lambda-calcul/rust/src/io.rs
+++ b/lambda-calcul/rust/src/io.rs
@@ -21,6 +21,7 @@ pub fn eval_file(file_name: &str) -> String {
pub fn batch_eval<I: Read, O: Write>(inp: &mut I, outp: &mut O) {
let mut env = Environment::new();
+ let mut context = Environment::new();
let mut reader = BufReader::new(inp);
loop {
let mut input = String::new();
@@ -36,7 +37,7 @@ pub fn batch_eval<I: Read, O: Write>(inp: &mut I, outp: &mut O) {
let values = parse(&input);
let results = values
.iter()
- .map(|v| eval_whnf(v, &mut env))
+ .map(|v| eval_whnf(v, &mut env, &mut context))
.collect::<Vec<Value>>();
for result in results {
writeln!(outp, "{}", result).unwrap();
@@ -47,6 +48,7 @@ pub fn batch_eval<I: Read, O: Write>(inp: &mut I, outp: &mut O) {
pub fn repl<I: Read, O: Write>(inp: &mut I, outp: &mut O) {
let mut env = Environment::new();
+ let mut context = Environment::new();
let mut reader = BufReader::new(inp);
loop {
let mut input = String::new();
@@ -63,7 +65,7 @@ pub fn repl<I: Read, O: Write>(inp: &mut I, outp: &mut O) {
let values = parse(&input);
let results = values
.iter()
- .map(|v| eval_whnf(v, &mut env))
+ .map(|v| eval_whnf(v, &mut env, &mut context))
.collect::<Vec<Value>>();
for result in results {
writeln!(outp, "{}", result).unwrap();