浏览代码

small optimization

Simon Krajewski 12 年之前
父节点
当前提交
4f6e71a4c3
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      matcher.ml

+ 5 - 5
matcher.ml

@@ -292,21 +292,21 @@ let to_pattern ctx e t =
 						) args
 					| _ -> error "Arguments expected" p
 				in
-				let rec loop2 acc el tl = match el,tl with
+				let rec loop2 el tl = match el,tl with
 					| (EConst(Ident "_"),_) as e :: [], t :: tl ->
 						let pat = loop tctx e t_dynamic in
-						(ExtList.List.make ((List.length tl) + 1) pat) @ acc
+						(ExtList.List.make ((List.length tl) + 1) pat)
 					| e :: el, t :: tl ->
 						let pat = loop tctx e t in
-						loop2 (pat :: acc) el tl
+						pat :: (loop2 el tl)
 					| e :: _, [] ->
 						error "Too many arguments" (pos e);
 					| [],_ :: _ ->
 						error "Not enough arguments" p;
 					| [],[] ->
-						acc
+						[]
 				in
-				mk_con_pat (CEnum(en,ef)) (List.rev (loop2 [] el tl)) t p
+				mk_con_pat (CEnum(en,ef)) (loop2 el tl) t p
 			| _ -> perror p)
 		| (EConst(Ident "null"),p) ->
 			error "null-patterns are not allowed" p