summaryrefslogtreecommitdiff
path: root/typing/typeclass.mli
diff options
context:
space:
mode:
authorJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2012-08-21 07:10:35 +0000
committerJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2012-08-21 07:10:35 +0000
commit35185d610b16e81ea11834963be61cecab7147c9 (patch)
tree56307d76b703e694cf582e40c28f5b558c7d878e /typing/typeclass.mli
parentde7262e181af27ecba9c2f356bc80905e7262b66 (diff)
downloadocaml-35185d610b16e81ea11834963be61cecab7147c9.tar.gz
merge version/4.00 at revision 12866
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12869 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 b898284a80..c1a1b22988 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