Browse thread
Re: [Caml-list] type var in functor instance?
[
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: | 2004-09-20 (15:43) |
From: | skaller <skaller@u...> |
Subject: | Re: [Caml-list] type var in functor instance? |
On Mon, 2004-09-20 at 21:58, Jean-Christophe Filliatre wrote: > skaller writes: > > Is it possible instantiate a functor with a module > > containing a type variable? I have a Set with t = int, > > and I now need 'a * int.. > Various unsatisfying solutions have been proposed, among which > > - to make a copy of Set with an additional type parameter eveywhere (I > attach such a module below. Beware: this is an old version of Set) Hmmm. I see. I think I understand why this is needed. Dependent typing problem? Set depends on element... > - to make an unfunctorized version of Set that uses Pervasives.compare, > thus polymorphic This is already in the standard distro for Hashtbl. Why not for Set and Map as well? Why is this unsatisfactory? I actually use heaps of Hashtbl of polymorphic kind and am ready to switch some over to an functor instance with key type int -- most of my tables use int keys and I hope to gain some performance and reasoning ability. The duplicate interface has let me experiment rapid prototyping style, then lock down the typing a bit, leaving the raw function names and semantics the same. I think that's nice -- one reason I use Hashtbl even when Set or Map would be better. -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- 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