caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Building a Set module for elements of a Map
@ 2008-06-25 13:30 Fabrice Marchant
  2008-06-26  9:21 ` [Caml-list] " Jean-Christophe Filliâtre
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Fabrice Marchant @ 2008-06-25 13:30 UTC (permalink / raw)
  To: caml-list

   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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-06-27 20:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-25 13:30 Building a Set module for elements of a Map Fabrice Marchant
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

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).