summaryrefslogtreecommitdiff
path: root/typing/typeclass.mli
diff options
context:
space:
mode:
authorFabrice Le Fessant <Fabrice.Le_fessant@inria.fr>2012-05-30 14:52:37 +0000
committerFabrice Le Fessant <Fabrice.Le_fessant@inria.fr>2012-05-30 14:52:37 +0000
commitd39d43e55fab716fbe05cec3c89233f0dd208835 (patch)
treebf5c56aa9bb32a0e3d49509b8b2863a9ec407563 /typing/typeclass.mli
parente3d82817909dd7bc69dff4f75aa63c5ba606d9c8 (diff)
downloadocaml-d39d43e55fab716fbe05cec3c89233f0dd208835.tar.gz
merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'typing/typeclass.mli')
-rw-r--r--typing/typeclass.mli53
1 files changed, 42 insertions, 11 deletions
diff --git a/typing/typeclass.mli b/typing/typeclass.mli
index 9841ed4010..3329a8206f 100644
--- a/typing/typeclass.mli
+++ b/typing/typeclass.mli
@@ -14,39 +14,70 @@
open Asttypes
open Types
-open Typedtree
open Format
val class_declarations:
Env.t -> Parsetree.class_declaration list ->
- (Ident.t * class_declaration *
- Ident.t * cltype_declaration *
+ (Ident.t * string loc * class_declaration *
+ Ident.t * class_type_declaration *
Ident.t * type_declaration *
Ident.t * type_declaration *
- int * string list * class_expr) list * Env.t
+ int * string list * Typedtree.class_declaration) list * Env.t
+
+(*
+and class_declaration =
+ (class_expr, Types.class_declaration) class_infos
+*)
val class_descriptions:
Env.t -> Parsetree.class_description list ->
- (Ident.t * class_declaration *
- Ident.t * cltype_declaration *
+ (Ident.t * string loc * class_declaration *
+ Ident.t * class_type_declaration *
Ident.t * type_declaration *
Ident.t * type_declaration *
- int * string list * class_type) list * Env.t
+ int * string list * Typedtree.class_description) list * Env.t
+
+(*
+and class_description =
+ (class_type, unit) class_infos
+*)
val class_type_declarations:
Env.t -> Parsetree.class_description list ->
- (Ident.t * cltype_declaration *
+ (Ident.t * string loc * class_type_declaration *
+ Ident.t * type_declaration *
Ident.t * type_declaration *
- Ident.t * type_declaration) list * Env.t
+ Typedtree.class_type_declaration) list * Env.t
+
+(*
+and class_type_declaration =
+ (class_type, Types.class_type_declaration) class_infos
+*)
val approx_class_declarations:
Env.t -> Parsetree.class_description list ->
- (Ident.t * cltype_declaration *
+ (Ident.t * string loc * class_type_declaration *
+ Ident.t * type_declaration *
Ident.t * type_declaration *
- Ident.t * type_declaration) list
+ Typedtree.class_type_declaration) list
val virtual_methods: Types.class_signature -> label list
+(*
+val type_classes :
+ bool ->
+ ('a -> Types.type_expr) ->
+ (Env.t -> 'a -> 'b * Types.class_type) ->
+ Env.t ->
+ 'a Parsetree.class_infos list ->
+ ( Ident.t * Types.class_declaration *
+ Ident.t * Types.class_type_declaration *
+ Ident.t * Types.type_declaration *
+ Ident.t * Types.type_declaration *
+ int * string list * 'b * 'b Typedtree.class_infos)
+ list * Env.t
+*)
+
type error =
Unconsistent_constraint of (type_expr * type_expr) list
| Field_type_mismatch of string * string * (type_expr * type_expr) list