removed many warnings

This commit is contained in:
Simon Cruanes 2014-11-08 01:28:42 +01:00
parent af58399ca7
commit 24b441579c
17 changed files with 59 additions and 59 deletions

View file

@ -225,7 +225,7 @@ let _shuffle _rand_int a i j =
let _choose a i j st =
if i>=j then raise Not_found;
a.(i+Random.int (j-i))
a.(i+Random.State.int st (j-i))
let _pp ~sep pp_item buf a i j =
for k = i to j - 1 do
@ -283,7 +283,7 @@ let iteri = Array.iteri
let blit = Array.blit
let reverse_in_place a =
_reverse_in_place a 0 (Array.length a)
_reverse_in_place a 0 ~len:(Array.length a)
(*$T
reverse_in_place [| |]; true
@ -464,7 +464,7 @@ module Sub = struct
let copy a = Array.sub a.arr a.i (length a)
let sub a i len = make a.arr (a.i + i) len
let sub a i len = make a.arr ~len:(a.i + i) len
let equal eq a b =
length a = length b && _equal eq a.arr a.i a.j b.arr b.i b.j

View file

@ -170,7 +170,7 @@ let choose l =
(* print errors on the buffer *)
let rec print buf l = match l with
| `Ok _ :: _ -> assert false
| (`Error x)::((y::xs) as l) ->
| (`Error x)::((_::_) as l) ->
Buffer.add_string buf x;
Buffer.add_string buf ", ";
print buf l
@ -205,7 +205,7 @@ module Traverse(M : MONAD) = struct
let sequence_m m = map_m (fun x->x) m
let fold_m f acc e = match e with
| `Error s -> M.return acc
| `Error _ -> M.return acc
| `Ok x -> f acc x >>= fun y -> M.return y
let rec retry_m n f = match n with

View file

@ -68,7 +68,7 @@ let rec cons : 'a. 'a -> 'a t -> 'a t
| Shallow (Two (y,z)) -> Shallow (Three (x,y,z))
| Shallow (Three (y,z,z')) ->
_deep 4 (Two (x,y)) _empty (Two (z,z'))
| Deep (_, Zero, middle, tl) -> assert false
| Deep (_, Zero, _middle, _tl) -> assert false
| Deep (n,One y, middle, tl) -> _deep (n+1) (Two (x,y)) middle tl
| Deep (n,Two (y,z), middle, tl) -> _deep (n+1)(Three (x,y,z)) middle tl
| Deep (n,Three (y,z,z'), lazy q', tail) ->
@ -81,7 +81,7 @@ let rec snoc : 'a. 'a t -> 'a -> 'a t
| Shallow (Two (y,z)) -> Shallow (Three (y,z,x))
| Shallow (Three (y,z,z')) ->
_deep 4 (Two (y,z)) _empty (Two (z',x))
| Deep (_,hd, middle, Zero) -> assert false
| Deep (_,_hd, _middle, Zero) -> assert false
| Deep (n,hd, middle, One y) -> _deep (n+1) hd middle (Two(y,x))
| Deep (n,hd, middle, Two (y,z)) -> _deep (n+1) hd middle (Three(y,z,x))
| Deep (n,hd, lazy q', Three (y,z,z')) ->
@ -131,7 +131,7 @@ let rec take_back_exn : 'a. 'a t -> 'a t * 'a
| Shallow (One x) -> empty, x
| Shallow (Two (x,y)) -> _single x, y
| Shallow (Three (x,y,z)) -> Shallow (Two(x,y)), z
| Deep (_, hd, middle, Zero) -> assert false
| Deep (_, _hd, _middle, Zero) -> assert false
| Deep (n, hd, lazy q', One x) ->
if is_empty q'
then Shallow hd, x
@ -206,7 +206,7 @@ let rec nth_exn : 'a. int -> 'a t -> 'a
| 1, Shallow (Three (_,x,_)) -> x
| 2, Shallow (Three (_,_,x)) -> x
| _, Shallow _ -> raise Not_found
| _, Deep (n, l, q, r) ->
| _, Deep (_, l, q, r) ->
if i<_size_digit l
then _nth_digit i l
else

View file

@ -170,7 +170,7 @@ module Make(X : HASHABLE) = struct
| Empty -> ()
| Key (_, _, h_k) when _dib tbl h_k i = 0 ->
() (* stop *)
| Key (k, v, h_k) as bucket ->
| Key (_k, _v, h_k) as bucket ->
assert (_dib tbl h_k i > 0);
(* shift backward *)
tbl.arr.(_pred tbl i) <- bucket;

View file

@ -671,7 +671,7 @@ let drop_while p gen =
| Yield ->
begin match gen () with
| None -> state := Stop; None
| (Some x) as res -> res
| Some _ as res -> res
end
in next
@ -1088,7 +1088,7 @@ let sorted_merge_n ?(cmp=Pervasives.compare) l =
let round_robin ?(n=2) gen =
(* array of queues, together with their index *)
let qs = Array.init n (fun i -> Queue.create ()) in
let qs = Array.init n (fun _ -> Queue.create ()) in
let cur = ref 0 in
(* get next element for the i-th queue *)
let rec next i =
@ -1128,7 +1128,7 @@ let round_robin ?(n=2) gen =
when they are consumed evenly *)
let tee ?(n=2) gen =
(* array of queues, together with their index *)
let qs = Array.init n (fun i -> Queue.create ()) in
let qs = Array.init n (fun _ -> Queue.create ()) in
let finished = ref false in (* is [gen] exhausted? *)
(* get next element for the i-th queue *)
let rec next i =
@ -1139,7 +1139,7 @@ let tee ?(n=2) gen =
else Queue.pop qs.(i)
(* consume one more element *)
and get_next i = match gen() with
| (Some x) as res ->
| Some _ as res ->
for j = 0 to n-1 do
if j <> i then Queue.push res qs.(j)
done;

View file

@ -415,7 +415,7 @@ module Seq = struct
try _yield (input_line ic)
with End_of_file -> _stop()
let words g =
let words _g =
failwith "words: not implemented yet"
(* TODO: state machine that goes:
- 0: read input chunk

View file

@ -199,14 +199,14 @@ module Dot = struct
let mk_id format =
let buf = Buffer.create 64 in
Printf.kbprintf
(fun fmt -> `Id (Buffer.contents buf))
(fun _ -> `Id (Buffer.contents buf))
buf
format
let mk_label format =
let buf = Buffer.create 64 in
Printf.kbprintf
(fun fmt -> `Label(Buffer.contents buf))
(fun _ -> `Label(Buffer.contents buf))
buf
format
@ -287,6 +287,6 @@ module Dot = struct
Printf.bprintf buf "}\n";
()
let pp_single name buf t = pp buf (singleton name t)
let pp_single name buf t = pp buf (singleton ~name t)
end

View file

@ -167,7 +167,7 @@ module Make(K : OrderedType)(V : OrderedType) = struct
let union m1 m2 =
M.merge
(fun k v1 v2 -> match v1, v2 with
(fun _k v1 v2 -> match v1, v2 with
| None, None -> None
| Some set1, Some set2 -> Some (S.union set1 set2)
| Some set, None
@ -176,7 +176,7 @@ module Make(K : OrderedType)(V : OrderedType) = struct
let inter m1 m2 =
M.merge
(fun k v1 v2 -> match v1, v2 with
(fun _k v1 v2 -> match v1, v2 with
| None, _
| _, None -> None
| Some set1, Some set2 ->
@ -188,7 +188,7 @@ module Make(K : OrderedType)(V : OrderedType) = struct
let diff m1 m2 =
M.merge
(fun k v1 v2 -> match v1, v2 with
(fun _k v1 v2 -> match v1, v2 with
| None, _ -> None
| Some set, None -> Some set
| Some set1, Some set2 ->

View file

@ -117,7 +117,7 @@ module Make(O : Set.OrderedType) = struct
let union m1 m2 =
M.merge
(fun x n1 n2 -> match n1, n2 with
(fun _x n1 n2 -> match n1, n2 with
| None, None -> assert false
| Some n, None
| None, Some n -> Some n
@ -134,7 +134,7 @@ module Make(O : Set.OrderedType) = struct
let intersection m1 m2 =
M.merge
(fun x n1 n2 -> match n1, n2 with
(fun _x n1 n2 -> match n1, n2 with
| None, None -> assert false
| Some _, None
| None, Some _ -> None
@ -143,10 +143,10 @@ module Make(O : Set.OrderedType) = struct
let diff m1 m2 =
M.merge
(fun x n1 n2 -> match n1, n2 with
(fun _x n1 n2 -> match n1, n2 with
| None, None -> assert false
| Some n1, None -> Some n1
| None, Some n2 -> None
| None, Some _n2 -> None
| Some n1, Some n2 ->
if n1 > n2
then Some (n1 - n2)

View file

@ -294,7 +294,7 @@ module Make(H : HashedType) : S with type key = H.t = struct
(fun k v2 ->
if not (mem t1 k) then match f k None (Some v2) with
| None -> ()
| Some v' -> Table.replace tbl k v2);
| Some _ -> Table.replace tbl k v2);
ref (Table tbl)
let add_seq init seq =

View file

@ -38,7 +38,7 @@ type 'a t = Buffer.t -> 'a -> unit
(** {2 Combinators} *)
let silent buf _ = ()
let silent _buf _ = ()
let unit buf () = Buffer.add_string buf "()"
let int buf i = Buffer.add_string buf (string_of_int i)
@ -49,7 +49,7 @@ let float buf f = Buffer.add_string buf (string_of_float f)
let list ?(start="[") ?(stop="]") ?(sep=", ") pp buf l =
let rec pp_list l = match l with
| x::((y::xs) as l) ->
| x::((_::_) as l) ->
pp buf x;
Buffer.add_string buf sep;
pp_list l
@ -116,14 +116,14 @@ let to_string pp x =
let sprintf format =
let buffer = Buffer.create 64 in
Printf.kbprintf
(fun fmt -> Buffer.contents buffer)
(fun _fmt -> Buffer.contents buffer)
buffer
format
let fprintf oc format =
let buffer = Buffer.create 64 in
Printf.kbprintf
(fun fmt -> Buffer.output_buffer oc buffer)
(fun _fmt -> Buffer.output_buffer oc buffer)
buffer
format

View file

@ -211,7 +211,7 @@ module Make(W : WORD) = struct
let _remove_sub c t = match t with
| Empty -> t
| Path ([], _) -> assert false
| Path (c'::l, t') ->
| Path (c'::_, _) ->
if W.compare c c' = 0
then Empty
else t
@ -357,7 +357,7 @@ module Make(W : WORD) = struct
| Some v -> f acc v
in
M.fold
(fun c t' acc -> fold_values f acc t')
(fun _c t' acc -> fold_values f acc t')
map acc
let iter_values f t = fold_values (fun () x -> f x) () t

View file

@ -437,7 +437,7 @@ let of_array a =
let of_list l = match l with
| [] -> create()
| x::l' ->
| x::_ ->
let v = create_with ~capacity:(List.length l + 5) x in
List.iter (push v) l;
v

View file

@ -79,7 +79,6 @@ let parse chars =
read_list (t::acc) (* next *)
| Some (Genlex.Kwd "]") ->
read_list (t::acc) (* next *)
| Some (Genlex.Kwd "]") -> List.rev acc (* yield *)
| _ -> raise (Stream.Error "expected ','"))
and read_pairs acc =
match peek tokens with
@ -163,7 +162,8 @@ let rec pp fmt t =
let to_string t =
let buf = Buffer.create 16 in
Format.bprintf buf "%a@?" pp t;
let fmt = Format.formatter_of_buffer buf in
Format.fprintf fmt "%a@?" pp t;
Buffer.contents buf
(** {2 Utils *)

View file

@ -36,7 +36,7 @@ let _minus pos1 pos2 = _move pos1 (- pos2.x) (- pos2.y)
let _move_x pos x = _move pos x 0
let _move_y pos y = _move pos 0 y
let _string_len = ref String.length
let _string_len = ref Bytes.length
let set_string_len f = _string_len := f
@ -61,11 +61,11 @@ module Output = struct
mutable buf_len : int;
}
and buf_line = {
mutable bl_str : string;
mutable bl_str : Bytes.t;
mutable bl_len : int;
}
let _make_line _ = {bl_str=""; bl_len=0}
let _make_line _ = {bl_str=Bytes.empty; bl_len=0}
let _ensure_lines buf i =
if i >= Array.length buf.buf_lines
@ -78,8 +78,8 @@ module Output = struct
let _ensure_line line i =
if i >= !_string_len line.bl_str
then (
let str' = String.make (2 * i + 5) ' ' in
String.blit line.bl_str 0 str' 0 line.bl_len;
let str' = Bytes.make (2 * i + 5) ' ' in
Bytes.blit line.bl_str 0 str' 0 line.bl_len;
line.bl_str <- str';
)
@ -88,7 +88,7 @@ module Output = struct
_ensure_line buf.buf_lines.(pos.y) pos.x;
buf.buf_len <- max buf.buf_len (pos.y+1);
let line = buf.buf_lines.(pos.y) in
line.bl_str.[pos.x] <- c;
Bytes.set line.bl_str pos.x c;
line.bl_len <- max line.bl_len (pos.x+1)
let _buf_put_sub_string buf pos s s_i s_len =
@ -100,7 +100,7 @@ module Output = struct
line.bl_len <- max line.bl_len (pos.x+s_len)
let _buf_put_string buf pos s =
_buf_put_sub_string buf pos s 0 (!_string_len s)
_buf_put_sub_string buf pos s 0 (!_string_len (Bytes.unsafe_of_string s))
(* create a new buffer *)
let make_buffer () =
@ -121,7 +121,7 @@ module Output = struct
for i = 0 to buf.buf_len - 1 do
for k = 1 to indent do Buffer.add_char buffer ' ' done;
let line = buf.buf_lines.(i) in
Buffer.add_substring buffer line.bl_str 0 line.bl_len;
Buffer.add_substring buffer (Bytes.unsafe_to_string line.bl_str) 0 line.bl_len;
Buffer.add_char buffer '\n';
done;
Buffer.contents buffer
@ -238,7 +238,7 @@ module Box = struct
| Empty -> origin
| Text l ->
let width = List.fold_left
(fun acc line -> max acc (!_string_len line)) 0 l
(fun acc line -> max acc (!_string_len (Bytes.unsafe_of_string line))) 0 l
in
{ x=width; y=List.length l; }
| Frame t ->
@ -337,7 +337,7 @@ let tree ?(indent=1) node children =
let children =
List.filter
(function
| {Box.shape=Box.Empty} -> false
| {Box.shape=Box.Empty; _} -> false
| _ -> true
) children
in
@ -384,10 +384,10 @@ let rec _render ?(offset=origin) ?expected_size ~out b pos =
Output.put_char out (_move pos (x+1) (y+1)) '+';
Output.put_char out (_move pos 0 (y+1)) '+';
Output.put_char out (_move pos (x+1) 0) '+';
_write_hline out (_move_x pos 1) x;
_write_hline out (_move pos 1 (y+1)) x;
_write_vline out (_move_y pos 1) y;
_write_vline out (_move pos (x+1) 1) y;
_write_hline ~out (_move_x pos 1) x;
_write_hline ~out (_move pos 1 (y+1)) x;
_write_vline ~out (_move_y pos 1) y;
_write_vline ~out (_move pos (x+1) 1) y;
_render ~out b' (_move pos 1 1)
| Box.Pad (dim, b') ->
let expected_size = Box.size b in

View file

@ -72,7 +72,7 @@ we go toward the bottom (same order as a printer) *)
val origin : position
(** Initial position *)
val set_string_len : (string -> int) -> unit
val set_string_len : (Bytes.t -> int) -> unit
(** Set which function is used to compute string length. Typically
to be used with a unicode-sensitive length function *)

View file

@ -26,10 +26,10 @@ let test_mutation =
return (s,i,c)
) in
let test (s,i,c) =
let s' = String.copy s in
s'.[i] <- c;
let s' = Bytes.of_string s in
Bytes.set s' i c;
let a = Levenshtein.of_string ~limit:1 s in
Levenshtein.match_with a s'
Levenshtein.match_with a (Bytes.to_string s')
in
let name = "mutating s.[i] into s' still accepted by automaton(s)" in
QCheck.mk_test ~name ~size:(fun (s,_,_)->String.length s) gen test