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 3CD82BB9C for ; Tue, 17 Jan 2006 13:13:55 +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 k0HCDsPs012389 for ; Tue, 17 Jan 2006 13:13:54 +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 NAA25315 for ; Tue, 17 Jan 2006 13:13:54 +0100 (MET) Received: from ash25e.internode.on.net (ash25e.internode.on.net [203.16.214.182]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id k0HCDqZ2012366 for ; Tue, 17 Jan 2006 13:13:53 +0100 Received: from rosella (ppp33-253.lns1.syd6.internode.on.net [59.167.33.253]) by ash25e.internode.on.net (8.13.5/8.13.5) with ESMTP id k0HCDTbO031043; Tue, 17 Jan 2006 22:43:33 +1030 (CST) (envelope-from skaller@users.sourceforge.net) Subject: Re: [Caml-list] mutually recursive modules From: skaller To: Jacques Garrigue Cc: catphive.lists@gmail.com, caml-list@inria.fr In-Reply-To: <20060117.192144.95936185.garrigue@math.nagoya-u.ac.jp> References: <3dd983220601170055w5bd95adfjca47847809f3226e@mail.gmail.com> <20060117.192144.95936185.garrigue@math.nagoya-u.ac.jp> Content-Type: text/plain Date: Tue, 17 Jan 2006 23:13:24 +1100 Message-Id: <1137500004.9080.11.camel@rosella> Mime-Version: 1.0 X-Mailer: Evolution 2.4.1 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 43CCDF82.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 43CCDF80.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 recursive:01 ocaml:01 parser:01 token:01 wrote:01 sourceforge:01 simpler:01 define:01 jacques:01 modules:01 types:02 garrigue:03 module:03 exported:04 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=none autolearn=disabled version=3.0.3 On Tue, 2006-01-17 at 19:21 +0900, Jacques Garrigue wrote: > However, other type definitions (like sums and records) are not > structural, so you cannot move them around. So most people just define > all their exported types in a single module, which can be seen by all > the program. You can avoid it, but this makes life simpler. Unfortunately, this idea is very nice but doesn't work with the current Ocaml toolset due to the fact the parser generates the token type. -- John Skaller Felix, successor to C++: http://felix.sf.net