From aa40c8f0badeffd7cfd9f7835ba896acd4f506fc Mon Sep 17 00:00:00 2001 From: Kathy Gray Date: Mon, 25 Jul 2016 15:10:46 +0100 Subject: one more go --- src/lem_interp/interp_inter_imp.lem | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lem_interp/interp_inter_imp.lem b/src/lem_interp/interp_inter_imp.lem index 4824ecf7..7e5fbf33 100644 --- a/src/lem_interp/interp_inter_imp.lem +++ b/src/lem_interp/interp_inter_imp.lem @@ -335,7 +335,7 @@ let rec interp_to_value_helper arg ivh_mode err_str instr direction registers ev | _ -> (Ivh_error (Internal_error ("Value not an option for " ^ errk_str)), events_out) end) end) | (Interp.Error l msg,_,_) -> (Ivh_error (Internal_error msg), events_out) | (Interp.Action (Interp.Return value) stack,_,_) -> - (match Interp.remove_top_stack_frame stack with + (match stack with | Top -> if exn_seen then (Ivh_value_after_exn value, events_out) @@ -663,7 +663,7 @@ let rec interp_to_outcome mode context thunk = (IState (Interp.add_answer_to_stack next_state new_v) context), lm) end) | Interp.Return value -> - (match Interp.remove_top_stack_frame next_state with + (match next_state with | Top -> (Done, lm) | stack -> interp_to_outcome mode context (fun _ -> Interp.resume mode.internal_mode stack (Just value)) end) -- cgit v1.2.3