[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Axel Simon <A.Simon@u...> |
| Subject: | [Caml-list] polymorphic modules in classes |
Hi, I would like to use a Hashtbl which is polymorphic in its elements. The elements should by compared by physical equality so I cannot use the "generic interface". My goal is to create a hash table over the type 'a which maps to int. I wrote: module H = Hashtbl;; module PhysEq : H.HashedType = struct type t let equal = (==) let hash = H.hash end;; module PhysHashtbl : H.S = H.Make(PhysEq);; class ['a] bulkWriter ((fname, wr) : string * (out_channel -> 'a -> unit)) = let outCh = open_out_bin fname and stored : (a' PhysHashtbl.t) = (PhysHashtbl.create 100) in object (* something here *) end When I compile, I get "Unbound type constructor a'" for the line which introduces stored, although it works with int. I guess there are many other problems with my solution: PhysEq.t is abstract and PhysHashtbl.key is not bound to any type. How do I solve all this? I am really new to OCaml and I couldn't make sense of the tutorials and other messages posted on this list. Any help appreciated, Axel. ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners