From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 87ED0BC69 for ; Sat, 24 Feb 2007 16:48:19 +0100 (CET) Received: from exchfe2.cs.cornell.edu (exchfenlb-2.cs.cornell.edu [128.84.97.34]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l1OFmIuA028428 for ; Sat, 24 Feb 2007 16:48:19 +0100 Received: from exchfe1.cs.cornell.edu ([128.84.97.33]) by exchfe2.cs.cornell.edu with Microsoft SMTPSVC(6.0.3790.1830); Sat, 24 Feb 2007 10:48:18 -0500 Received: from [192.168.1.100] ([24.59.194.44]) by exchfe1.cs.cornell.edu over TLS secured channel with Microsoft SMTPSVC(6.0.3790.1830); Sat, 24 Feb 2007 10:48:17 -0500 Mime-Version: 1.0 (Apple Message framework v752.2) In-Reply-To: <20070224110004.3B145BC6E@yquem.inria.fr> References: <20070224110004.3B145BC6E@yquem.inria.fr> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <45445A10-75CB-43C5-9D6D-FEA6C4DDCD21@cs.cornell.edu> Content-Transfer-Encoding: 7bit From: Eric Breck Subject: Re: Caml-list Digest, Vol 20, Issue 50 Date: Sat, 24 Feb 2007 10:49:09 -0500 To: X-Mailer: Apple Mail (2.752.2) X-OriginalArrivalTime: 24 Feb 2007 15:48:17.0812 (UTC) FILETIME=[33BB9D40:01C7582B] X-Miltered: at concorde with ID 45E05E42.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; functor:01 functor:01 20,:98 char:01 signatures:01 typing:01 caml-list:01 digest:01 cornell:01 argument:02 modules:02 expression:02 binding:02 seems:03 module:03 > It seems like a module functor allows both anonymous > signatures (structural) and also anonymous argument > modules (structural), yet you cannot have > anonymous functor applications: you have to bind the application to > a module name. If we really had structural typing that name would > simply be an alias. Why can't we eliminate that name? *** I think I don't quite understand your question, but strictly based on this paragraph, there *is* a way to avoid binding the name of a functor result: include. include Map.Make(Char) is perfectly valid, although probably not what you want. Actually, this raises a question I've had; why must "open" be followed by a module path, but "include" can be followed by a module expression? -E r i c