diff options
Diffstat (limited to 'typing/includecore.ml')
-rw-r--r-- | typing/includecore.ml | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/typing/includecore.ml b/typing/includecore.ml deleted file mode 100644 index 781abf166c..0000000000 --- a/typing/includecore.ml +++ /dev/null @@ -1,53 +0,0 @@ -(* Inclusion checks for the core language *) - -open Misc -open Path -open Typedtree - - -(* Inclusion between value descriptions *) - -let value_descriptions env vd1 vd2 = - Ctype.moregeneral env vd1.val_type vd2.val_type & - begin match (vd1.val_prim, vd2.val_prim) with - (Primitive(p1, ar1), Primitive(p2, ar2)) -> p1 = p2 & ar1 = ar2 - | (Not_prim, Primitive(p, ar)) -> false - | _ -> true - end - -(* Inclusion between type declarations *) - -let type_declarations env id decl1 decl2 = - decl1.type_arity = decl2.type_arity & - begin match (decl1.type_kind, decl2.type_kind) with - (_, Type_abstract) -> - true - | (Type_manifest ty1, Type_manifest ty2) -> - Ctype.equal env decl1.type_params ty1 decl2.type_params ty2 - | (Type_variant cstrs1, Type_variant cstrs2) -> - for_all2 - (fun (cstr1, arg1) (cstr2, arg2) -> - cstr1 = cstr2 & - for_all2 - (fun ty1 ty2 -> - Ctype.equal env decl1.type_params ty1 decl2.type_params ty2) - arg1 arg2) - cstrs1 cstrs2 - | (Type_record labels1, Type_record labels2) -> - for_all2 - (fun (lbl1, mut1, ty1) (lbl2, mut2, ty2) -> - lbl1 = lbl2 & mut1 = mut2 & - Ctype.equal env decl1.type_params ty1 decl2.type_params ty2) - labels1 labels2 - | (_, Type_manifest ty2) -> - let ty1 = Tconstr(Pident id, decl2.type_params) in - Ctype.equal env [] ty1 [] ty2 - | (_, _) -> - false - end - -(* Inclusion between exception declarations *) - -let exception_declarations env ed1 ed2 = - for_all2 (fun ty1 ty2 -> Ctype.equal env [] ty1 [] ty2) ed1 ed2 - |