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 concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 78C05BB83 for ; Tue, 18 Jul 2006 15:24:59 +0200 (CEST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k6IDOwAD017835 for ; Tue, 18 Jul 2006 15:24:58 +0200 Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA22349 for ; Tue, 18 Jul 2006 15:24:58 +0200 (MET DST) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.180]) by nez-perce.inria.fr (8.13.6/8.13.6) with ESMTP id k6IDOvOd008020 for ; Tue, 18 Jul 2006 15:24:57 +0200 Received: by py-out-1112.google.com with SMTP id c31so3971910pyd for ; Tue, 18 Jul 2006 06:24:57 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ju3QYArBN7NxKXs7fapL2jvh8yi0EczpFK1TSj5FAHXSOFdO2WSPGNdZbkTxdc/3TpVeHKvMf9k7B7v3+NyMp2f6uBzqpCvDq6PadawAOqQe/dVq88IHXzumRqPhm4PdrpvPOzXDLjaBtrraaO+SYYiA/YvPz76QJKrF5u1Jo8c= Received: by 10.35.96.11 with SMTP id y11mr5494271pyl; Tue, 18 Jul 2006 06:24:57 -0700 (PDT) Received: by 10.35.132.20 with HTTP; Tue, 18 Jul 2006 06:24:56 -0700 (PDT) Message-ID: <875c7e070607180624i7fd15765lf74cb68ab66f4dc3@mail.gmail.com> Date: Tue, 18 Jul 2006 09:24:56 -0400 From: "Chris King" To: "Jean-Marie Gaillourdet" Subject: Re: [Caml-list] Module type troubles Cc: "O'Caml Mailing List" In-Reply-To: <3C1C2DED-FF8B-4C6C-ABD2-DDFEFF808967@gaillourdet.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <875c7e070607172131m47260672h85e2ed12b054581c@mail.gmail.com> <3C1C2DED-FF8B-4C6C-ABD2-DDFEFF808967@gaillourdet.net> X-j-chkmail-Score: MSGID : 44BCE129.001 on nez-perce : j-chkmail score : X : 0/20 1 X-Miltered: at concorde with ID 44BCE12A.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at nez-perce with ID 44BCE129.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; foo:01 functors:01 wrote:01 polymorphic:01 caml-list:01 abstract:01 functions:01 modules:01 modules:01 variables:02 parameters:02 types:02 seems:03 module:03 chris:05 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 On 7/18/06, Jean-Marie Gaillourdet wrote: > As far as I understand ML modules, the only way to achieve that is to > capture your type variables with abstract types in separate modules, > i.e. Foo and Bar have to get their type parameters as modules. I was hoping to keep the functions polymorphic but it seems like functors like you say are the best route... they'll probably end up making my code cleaner anyway :P Thanks, Chris King