diff options
Diffstat (limited to 'lambda-calcul/rust/src/io.rs')
| -rw-r--r-- | lambda-calcul/rust/src/io.rs | 6 |
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(); |
