From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 0063DBC57 for ; Mon, 20 Sep 2010 19:25:52 +0200 (CEST) X-IronPort-AV: E=Sophos;i="4.56,394,1280700000"; d="vcf'?scan'208";a="59704530" Received: from vpn-rocq-173.inria.fr (HELO [127.0.0.1]) ([128.93.42.173]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-CAMELLIA256-SHA; 20 Sep 2010 19:25:52 +0200 Message-ID: <4C97991F.7030503@inria.fr> Date: Mon, 20 Sep 2010 19:25:51 +0200 From: Dumitru Potop-Butucaru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 To: caml-list@inria.fr Subject: Re: [Caml-list] How can I set a type parameter of Map.Make(X) ? References: <4C97714A.6050403@inria.fr> In-Reply-To: Content-Type: multipart/mixed; boundary="------------010105000409070902070306" X-Spam: no; 0.00; int's:01 val:01 browsed:01 beginner's:01 ocaml:01 bug:01 jacky:98 20,:98 jacky:98 polymorphic:01 beginners:01 wrote:01 wrote:01 caml-list:01 caml-list:01 X-Attachments: cset="utf-8" name="dumitru_potop_butucaru.vcf" name="dumitru_potop_butucaru.vcf" This is a multi-part message in MIME format. --------------010105000409070902070306 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 = > > > 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 >> >> --------------010105000409070902070306 Content-Type: text/x-vcard; charset=utf-8; name="dumitru_potop_butucaru.vcf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dumitru_potop_butucaru.vcf" begin:vcard fn:Dumitru Potop-Butucaru n:Potop-Butucaru;Dumitru org:INRIA Rocquencourt;Project AOSTE adr:;;Domaine de Voluceau, BP 105;Le Chesnay;;F-78153;France email;internet:dumitru.potop_butucaru@inria.fr tel;work:+33-139.63.55.80 tel;fax:+33-139.63.51.93 x-mozilla-html:FALSE url:http://www.DumitruPotop.net version:2.1 end:vcard --------------010105000409070902070306--