diff options
| author | Gabriel Kerneis | 2014-06-11 15:15:38 +0100 |
|---|---|---|
| committer | Gabriel Kerneis | 2014-06-11 15:15:38 +0100 |
| commit | 56b21140e8d9cd1247ea064b9ce3fdbe2f8b57ec (patch) | |
| tree | 29e1e83f526078b7cde32019de8fee1ef9112cbd | |
| parent | ecc003fd2aace0044e04305acd795441166c19e9 (diff) | |
Improve error message for missing library functions
| -rw-r--r-- | src/lem_interp/interp_lib.lem | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lem_interp/interp_lib.lem b/src/lem_interp/interp_lib.lem index 18af8bfd..4d6ae138 100644 --- a/src/lem_interp/interp_lib.lem +++ b/src/lem_interp/interp_lib.lem @@ -1,7 +1,7 @@ open import Pervasives open import Interp open import Interp_ast -import Maybe_extra +import Assert_extra Maybe_extra open import Num open import List open import Word @@ -161,4 +161,7 @@ let function_map = [ ("gt_vec", compare_op_vec (>)); ] ;; -let eval_external name v = (Maybe_extra.fromJust (List.lookup name function_map)) v ;; +let eval_external name v = match List.lookup name function_map with + | Just f -> f v + | Nothing -> Assert_extra.failwith ("missing library function " ^ name) + end |
