From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id BD98DBC8C for ; Wed, 26 Jan 2005 00:54:30 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j0PNsUDV002291 for ; Wed, 26 Jan 2005 00:54:30 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id AAA12239 for ; Wed, 26 Jan 2005 00:54:30 +0100 (MET) Received: from us20.unix.fas.harvard.edu (us20.unix.fas.harvard.edu [140.247.35.200]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j0PNsTIW002286 for ; Wed, 26 Jan 2005 00:54:29 +0100 Received: from [140.247.161.153] (roam161-153.student.harvard.edu [140.247.161.153]) by us20.unix.fas.harvard.edu (8.12.11/8.12.11) with ESMTP id j0PNsS2U018121 for ; Tue, 25 Jan 2005 18:54:28 -0500 Mime-Version: 1.0 (Apple Message framework v619) Content-Transfer-Encoding: 7bit Message-Id: <727068A7-6F2C-11D9-8411-0003939A19AA@fas.harvard.edu> Content-Type: text/plain; charset=US-ASCII; format=flowed To: caml-list@inria.fr From: Mike Hamburg Subject: 'a Set? Date: Tue, 25 Jan 2005 18:54:27 -0500 X-Mailer: Apple Mail (2.619) X-Miltered: at concorde with ID 41F6DC36.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 41F6DC35.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; pervasives:01 functor:01 val:01 bool:01 val:01 bool:01 functor:01 elt:01 elt:01 arbitrary:01 modifying:02 objects:02 types:02 types:02 module:03 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.0 X-Spam-Level: Is there any clean way to make a type 'a set, corresponding to Set.Make of a module with type t='a and compare=Pervasives.compare? I'm trying to make a module which uses sets of arbitrary types of objects, and I don't want to have to make it a functor. So in other words, I'd like to make a module AlphaSet with type type 'a t, val is_empty: 'a t -> bool val mem: 'a -> 'a t -> bool, etc. instead of Set which is a functor producing types t, elt val is_empty: t -> bool val mem: elt -> t -> bool, etc. Is there a clean way to do this without removing the code from set.ml and modifying it? Mike Hamburg