diff options
| author | Kathy Gray | 2014-11-23 18:13:42 +0000 |
|---|---|---|
| committer | Kathy Gray | 2014-11-23 18:15:17 +0000 |
| commit | 84f58fbaaaa9709b18738d43cb9d63abc5dd0451 (patch) | |
| tree | e64ca83952ad416ab6d0846f6b7bd04e7d6855b8 /src/lem_interp/interp.lem | |
| parent | 103ff09b139f16901a22e5949beb2674d96d6b5b (diff) | |
Print out value when pattern match fails
Diffstat (limited to 'src/lem_interp/interp.lem')
| -rw-r--r-- | src/lem_interp/interp.lem | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem index 3e125b99..17a9644d 100644 --- a/src/lem_interp/interp.lem +++ b/src/lem_interp/interp.lem @@ -1277,7 +1277,7 @@ and interp_main mode t_level l_env l_mem (E_aux exp (l,annot)) = (interp_main mode t_level l_env l_mem exp) (fun v lm le -> match find_case pats v with - | [] -> (Error l "No matching patterns in case",lm,le) + | [] -> (Error l ("No matching patterns in case for value " ^ (string_of_value v)),lm,le) | [(env,used_unknown,exp)] -> if mode.eager_eval then interp_main mode t_level (union_env env l_env) lm exp @@ -1725,7 +1725,8 @@ and interp_main mode t_level l_env l_mem (E_aux exp (l,annot)) = | Just(funcls) -> (match find_funcl funcls v with | [] -> - (Error l (String.stringAppend "No matching pattern for function " name ),l_mem,l_env) + (Error l ("No matching pattern for function " ^ name ^ + " on value " ^ (string_of_value v)),l_mem,l_env) | [(env,used_unknown,exp)] -> resolve_outcome (if mode.eager_eval |
