Get rid of some warnings

master
Ekdohibs 2018-02-16 09:59:32 +01:00
parent a946f319c8
commit eabb075fdb
3 changed files with 14 additions and 29 deletions

12
Cook.ml
View File

@ -44,7 +44,6 @@ type tavar =
module Smap = Map.Make(String)
type env = {
bindings : (binding * Atom.atom) Smap.t ;
(* fvars : TVSet.t ; *)
type_bindings : Atom.atom Smap.t ;
type_variables : (Atom.atom * Atom.atom) Smap.t ;
type_variance : (tavar * bool) list Atom.Map.t ;
@ -278,7 +277,7 @@ and biunify_tyss env t qps qms =
) qms
) qps
and merge_eff env name e1 e2 =
and merge_eff _ name e1 e2 =
let open TyE in
assert (e1.polarity = e2.polarity);
(match name with
@ -300,7 +299,7 @@ and merge_eff env name e1 e2 =
e1.flows <- (fst e1.flows, (fst (snd e1.flows), b1 || b2))
| Some name -> e1.flows <- (Atom.Map.add name (fst (get e1), b1 || b2) (fst e1.flows), snd e1.flows)
and biunify_eff_excl ex env t ep em =
and biunify_eff_excl ex env _ ep em =
TyE.common_domain ep em;
assert (ep.TyE.polarity && not em.TyE.polarity);
let (epf, epd) = ep.TyE.flows in
@ -345,7 +344,6 @@ and biunify_args env t ap am =
| _ -> assert false
let biunify_eff_excl excl env = biunify_eff_excl excl env (ref TySPSet.empty)
let biunify_eff env = biunify_eff env (ref TySPSet.empty)
let biunify env = biunify_tys env (ref TySPSet.empty)
let not_subtype_msg : _ format6 =
@ -457,7 +455,7 @@ let create_arg_pair (v, is_effect) =
let create_var_pairs l =
List.split (List.map create_arg_pair l)
let rec is_irrefutable { S.place ; S.value } =
let rec is_irrefutable { S.value ; _ } =
match value with
| S.PVar _ -> true
| S.PTuple l -> List.for_all is_irrefutable l
@ -648,7 +646,7 @@ let rec cook_term env { S.place ; S.value } =
let nl = List.map (fun (p, t1) ->
let np, dv, ef = cook_pattern_or_effect env sc.typ rtyp erp p in
matched_effects := Atom.Set.union !matched_effects ef;
let nenv = Smap.fold (fun x (a, t) env -> add_bound x a env) dv env in
let nenv = Smap.fold (fun x (a, _) env -> add_bound x a env) dv env in
let sc1, nt1 = cook_term nenv t1 in
check_biunify t1.S.place env sc1.typ rtyn;
check_biunify_eff t1.S.place env sc1.eff ern;
@ -828,7 +826,7 @@ and cook_let env recursive x t =
let cook_var cook build polarity va t =
match va with
| ANone -> fun inst -> TyC.VNone
| ANone -> fun _ -> TyC.VNone
| APos _ ->
let t = cook polarity t in
fun inst -> TyC.VPos (build (t inst))

View File

@ -68,11 +68,6 @@ let evar (x : S.variable) : T.expr =
let univ : T.type_spec =
T.Named "univ"
(* The type of integers. *)
let int : T.type_spec =
T.Named "int64_t"
(* The type [char] appears in the type of [main]. *)
let char : T.type_spec =
@ -321,14 +316,6 @@ let declare_main_function : T.declaration =
type decl_or_fun =
T.declaration_or_function
let define (decl : T.declaration) (st : finish_state) (t : S.term) : decl_or_fun =
T.Function (
[], (* no comments *)
false, (* not inlined *)
decl,
T.Compound [finish_term st t]
)
let define_ordinary_function (st : finish_state) (S.Fun (f, xs, t)) : decl_or_fun =
let b = fct_max_total_alloc t in
let t = finish_term st t in

View File

@ -347,7 +347,7 @@ let arg_succ = function
let tyc_succ = function
| TyC.Tident (vs, _) ->
List.fold_left TySSet.union TySSet.empty (List.map arg_succ vs)
| TyC.Tarrow (q1, eff, q2) -> TySSet.union q1 q2
| TyC.Tarrow (q1, _, q2) -> TySSet.union q1 q2
| TyC.Tproduct l -> List.fold_left TySSet.union TySSet.empty l
let tys_succ q =
@ -362,7 +362,7 @@ let decompose_flow elms =
let rec loop fl =
let best = ref (TySSet.empty, TySSet.empty) in
let best_v = ref 0 in
TySMap.iter (fun q qs1 ->
TySMap.iter (fun _ qs1 ->
match TySSet.elements qs1 with
| [] -> ()
| q2 :: qs ->
@ -409,7 +409,7 @@ let decompose_flow_e name elms =
let rec loop fl =
let best = ref (TyESet.empty, TyESet.empty) in
let best_v = ref 0 in
TyEMap.iter (fun q qs1 ->
TyEMap.iter (fun _ qs1 ->
match TyESet.elements qs1 with
| [] -> ()
| q2 :: qs ->
@ -471,7 +471,7 @@ let rec print_tyc st level pol ff t =
) l
)
and print_var_t st level pol ff va =
and print_var_t st _ pol ff va =
match va with
| TyC.VNone -> Format.fprintf ff "_"
| TyC.VPos qs -> Format.fprintf ff "+%a" (print_tyss st 10 pol) qs
@ -480,7 +480,7 @@ and print_var_t st level pol ff va =
Format.fprintf ff "[+%a -%a]"
(print_tyss st 10 pol) qsp (print_tyss st 10 (not pol)) qsn
and print_var_e st level pol ff va =
and print_var_e st _ pol ff va =
match va with
| TyC.VNone -> Format.fprintf ff "_"
| TyC.VPos qs -> Format.fprintf ff "+[%a]" (print_eff st 10 pol) qs
@ -493,18 +493,18 @@ and print_arg st level pol ff = function
| TyC.AType va -> print_var_t st level pol ff va
| TyC.AEff va -> print_var_e st level pol ff va
and print_eff st level pol ff t =
and print_eff st _ pol ff t =
let eff, def = t.TyE.flows in
let _, _, _, (enamee, enamed) = st in
let _, _, _, (enamee, _) = st in
let get name = try Atom.Map.find name eff with Not_found -> def in
let l = List.map (fun (name, _) -> (Some name, get name))
(Atom.Map.bindings enamee) @ [(None, def)] in
let printed = ref false in
List.iteri (fun i (name, d) ->
List.iter (fun (name, d) ->
printed := print_ep st 6 pol name ff d !printed
) l
and print_ep st level pol name ff (es, b) needs_sep =
and print_ep st _ pol name ff (es, b) needs_sep =
let _, _, _, (enamee, enamed) = st in
let mp = match name with None -> enamed | Some name -> Atom.Map.find name enamee in
let get t = try TyEMap.find t mp with Not_found -> SSet.empty in