@@ -355,8 +355,15 @@ let init n f =
355
355
| _ ->
356
356
Array. to_list (Array. init n f)
357
357
358
+ let rec rev_append l1 l2 =
359
+ match l1 with
360
+ [] -> l2
361
+ | a :: l -> rev_append l (a :: l2)
362
+
363
+ let rev l = rev_append l []
364
+
358
365
let rec small_split_at n acc l =
359
- if n < = 0 then List. rev acc , l
366
+ if n < = 0 then rev acc , l
360
367
else
361
368
match l with
362
369
| x ::xs -> small_split_at (n - 1 ) (x ::acc) xs
@@ -368,7 +375,7 @@ let split_at l n =
368
375
let rec split_at_last_aux acc x =
369
376
match x with
370
377
| [] -> invalid_arg " Ext_list.split_at_last"
371
- | [ x] -> List. rev acc, x
378
+ | [ x] -> rev acc, x
372
379
| y0 ::ys -> split_at_last_aux (y0::acc) ys
373
380
374
381
let split_at_last (x : 'a list ) =
@@ -420,10 +427,6 @@ let rec rev_map_append l1 l2 f =
420
427
| a :: l -> rev_map_append l (f a :: l2) f
421
428
422
429
423
- let rec rev_append l1 l2 =
424
- match l1 with
425
- [] -> l2
426
- | a :: l -> rev_append l (a :: l2)
427
430
428
431
(* * It is not worth loop unrolling,
429
432
it is already tail-call, and we need to be careful
@@ -487,7 +490,7 @@ and aux eq (x : 'a) (xss : 'a list list) : 'a list list =
487
490
y :: aux eq x ys
488
491
| _ :: _ -> assert false
489
492
490
- let stable_group lst eq = group eq lst |> List. rev
493
+ let stable_group lst eq = group eq lst |> rev
491
494
492
495
let rec drop h n =
493
496
if n < 0 then invalid_arg " Ext_list.drop"
@@ -625,7 +628,7 @@ let rec assoc_by_string lst (k : string) def =
625
628
| None -> assert false
626
629
| Some x -> x end
627
630
| (k1 ,v1 )::rest ->
628
- if Ext_string. equal k1 k then v1 else
631
+ if k1 = k then v1 else
629
632
assoc_by_string rest k def
630
633
631
634
let rec assoc_by_int lst (k : int ) def =
@@ -699,7 +702,7 @@ let rec fold_left2 l1 l2 accu f =
699
702
match (l1, l2) with
700
703
([] , [] ) -> accu
701
704
| (a1 ::l1 , a2 ::l2 ) -> fold_left2 l1 l2 (f a1 a2 accu) f
702
- | (_ , _ ) -> invalid_arg " List .fold_left2"
705
+ | (_ , _ ) -> invalid_arg " Ext_list .fold_left2"
703
706
704
707
let singleton_exn xs = match xs with [x] -> x | _ -> assert false
705
708
0 commit comments