diff --git a/src/runners/repl.rs b/src/runners/repl.rs --- a/src/runners/repl.rs +++ b/src/runners/repl.rs @@ -61,9 +61,13 @@ }; println!("{}", ast.print_rpn()); - interpreter - .interpret(&ast) - .map_err(|e| Report::new(e).with_source_code(line.clone()))?; + if let Err(e) = interpreter.interpret(&ast) { + let report = Report::new(e).with_source_code(line.clone()); + eprintln!("{report:?}"); + + prompt()?; + continue; + } prompt()?; }