caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Fabrice Marchant <fabricemarchant@free.fr>
To: caml-list@yquem.inria.fr
Subject: Building a Set module for elements of a Map
Date: Wed, 25 Jun 2008 15:30:43 +0200	[thread overview]
Message-ID: <20080625153043.3bd7895c@free.fr> (raw)

   Hi List !

Please consider a functor F that takes as input the output signature of a Map.

Here is the only way I see to declare a Set module whose elements type are Map.S.key :

module F ( M : Map.S ) = struct  
  module MKeySet =
    Set.Make ( struct type t = M.key let compare = compare end )
end

  The problem is to access the OrderedType that permitted to build the Map M. It seems to have disappeared inside the output Map signature S. So the trial of regeneration :
struct type t = M.key let compare = compare end

  It maybe exists a straightforward signature we could pick somewhere inside Map related modules ?
  Moreover I'm afraid this "Ersatz" of signature based on _Pervasives_.compare is in some cases deficient, because different from original OrderedType of Map elements...

A parallel question for values type :
 how to declare inside F a module MValueSet to accomodate target elements of the input Map ?

Any light ?

Fabrice


             reply	other threads:[~2008-06-25 15:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-25 13:30 Fabrice Marchant [this message]
2008-06-26  9:21 ` [Caml-list] " Jean-Christophe Filliâtre
2008-06-26  9:26 ` Xavier Leroy
2008-06-27 18:10 ` Fabrice Marchant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080625153043.3bd7895c@free.fr \
    --to=fabricemarchant@free.fr \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).