Why do you want to do this? What benefit does it bring that cannot be achieved by leaving the polymorphic type?

On Mon, Sep 20, 2010 at 1:25 PM, Dumitru Potop-Butucaru <dumitru.potop_butucaru@inria.fr> wrote:

Actually, I was looking for a way to specialize a whole module,
not just the associated type (**this** I knew how to do).
I would like to write something like:

   include module type of Set.Make(String) with 'a= int

Is this possible?

Yours,
Jacky Potop





On 20/09/2010 16:57, Ashish Agarwal wrote:
module M = Map.Make(String)

type t = int M.t

Type t is the type of maps from string's to int's. Or alternatively write a
function that assumes 'a is some specific type:

# let f m = M.fold (fun _ x y ->  x + y) m 0;;
val f : int M.t ->  int =<fun>


On Mon, Sep 20, 2010 at 10:35 AM, Dumitru Potop-Butucaru<
dumitru.potop_butucaru@inria.fr>  wrote:

Hello,

I'm certain most users here will consider the question trivially simple,
but I browsed the documentation without finding a solution.

The question is quite general: Given a polymorphic definition like
Map.Make(X), where
X is some module, how can I specialize its 'a type parameter, e.g. by
setting it to Y, so that
I have maps from X to Y ?

Yours,
Jacky Potop

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs




_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs