summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKathy Gray2014-11-23 18:13:42 +0000
committerKathy Gray2014-11-23 18:15:17 +0000
commit84f58fbaaaa9709b18738d43cb9d63abc5dd0451 (patch)
treee64ca83952ad416ab6d0846f6b7bd04e7d6855b8
parent103ff09b139f16901a22e5949beb2674d96d6b5b (diff)
Print out value when pattern match fails
-rw-r--r--src/lem_interp/interp.lem5
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