summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp_lib.lem
diff options
context:
space:
mode:
Diffstat (limited to 'src/lem_interp/interp_lib.lem')
-rw-r--r--src/lem_interp/interp_lib.lem10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lem_interp/interp_lib.lem b/src/lem_interp/interp_lib.lem
index f6485666..158b9fa5 100644
--- a/src/lem_interp/interp_lib.lem
+++ b/src/lem_interp/interp_lib.lem
@@ -20,16 +20,18 @@ let neq = compose neg eq ;;
let add (V_tuple [V_lit(L_num x); V_lit(L_num y)]) = V_lit(L_num (x+y)) ;;
let rec vec_concat (V_tuple args) = match args with
- | [V_vector 0 true l; V_vector 0 true l'] -> V_vector 0 true (l ++ l')
+ | [V_vector n d l; V_vector n' d' l'] ->
+ (* XXX d = d' ? droping n' ? *)
+ V_vector n d (l ++ l')
| [V_lit l; x] -> vec_concat (V_tuple [litV_to_vec l; x])
| [x; V_lit l] -> vec_concat (V_tuple [x; litV_to_vec l])
- end;;
+ end ;;
let function_map = [
("add", add);
("add_infix", add);
- ("=", eq);
- (":", vec_concat);
+ ("eq", eq);
+ ("vec_concat", vec_concat);
("is_one", is_one);
] ;;