diff options
Diffstat (limited to 'src/lem_interp/interp_inter_imp.lem')
| -rw-r--r-- | src/lem_interp/interp_inter_imp.lem | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lem_interp/interp_inter_imp.lem b/src/lem_interp/interp_inter_imp.lem index 882522d7..ba762162 100644 --- a/src/lem_interp/interp_inter_imp.lem +++ b/src/lem_interp/interp_inter_imp.lem @@ -525,7 +525,7 @@ let rec interp_to_outcome mode context thunk = | Interp.Exit e -> Escape (match e with | E_aux (E_lit (L_aux L_unit _)) _ -> Nothing - | _ -> Just (IState (Interp.set_in_context next_state e) context) end) + | _ -> Just (IState (Interp.set_in_context next_state e) context) end) (IState next_state context) end end @@ -576,8 +576,9 @@ let rec ie_loop mode register_values (IState interp_state context) = match interp mode (IState interp_state context) with | Done -> [] | Error msg -> [E_error msg] - | Escape Nothing -> [E_escape] - | Escape _ -> [E_escape] (*Do we want to record anything about the escape expression, which may be a function call*) + | Escape Nothing i_state -> E_escape :: (ie_loop mode register_values i_state) + (*Do we want to record anything about the escape expression, which may be a function call*) + | Escape _ i_state -> E_escape :: (ie_loop mode register_values i_state) | Read_reg reg i_state_fun -> let v = match register_values with | Nothing -> unknown_reg (reg_size reg) |
