From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA11303; Wed, 23 Jun 2004 14:01:44 +0200 (MET DST) 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 OAA10365 for ; Wed, 23 Jun 2004 14:01:43 +0200 (MET DST) Received: from eris.rz.uni-saarland.de (eris.rz.uni-saarland.de [134.96.7.8]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i5NC1gEV005652 for ; Wed, 23 Jun 2004 14:01:42 +0200 Received: from cs.uni-sb.de (cs.uni-sb.de [134.96.254.254]) by eris.rz.uni-saarland.de (8.12.10/8.12.10) with ESMTP id i5NC1fTC18242790 for ; Wed, 23 Jun 2004 14:01:41 +0200 (CEST) Received: from mail.cs.uni-sb.de (mail.cs.uni-sb.de [134.96.254.200]) by cs.uni-sb.de (8.13.0/2004062200) with ESMTP id i5NC1eMD009670 for ; Wed, 23 Jun 2004 14:01:40 +0200 (CEST) Received: from ps.uni-sb.de (grizzly.ps.uni-sb.de [134.96.186.68]) by mail.cs.uni-sb.de (8.13.0/2004062200) with ESMTP id i5NC1d0D023002 for ; Wed, 23 Jun 2004 14:01:40 +0200 (CEST) X-Authentication-Warning: email: Host grizzly.ps.uni-sb.de [134.96.186.68] claimed to be ps.uni-sb.de Received: from ps.uni-sb.de (groove.ps.uni-sb.de [134.96.186.172]) by ps.uni-sb.de (8.12.10/8.12.10) with ESMTP id i5NC1cp0024938; Wed, 23 Jun 2004 14:01:38 +0200 Message-ID: <40D97122.8000909@ps.uni-sb.de> Date: Wed, 23 Jun 2004 14:01:38 +0200 From: Andreas Rossberg User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 X-Accept-Language: en-us, en MIME-Version: 1.0 To: caml-list Subject: Re: [Caml-list] Why must types be always defined at the top level? References: <20040622224125.GA24785@redhat.com> <20040622225321.GB31368@fichte.ai.univie.ac.at> <1087947151.29427.82.camel@pelican.wigram> In-Reply-To: <1087947151.29427.82.camel@pelican.wigram> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-AntiVirus: checked by AntiVir Milter 1.0.6; AVE 6.25.0.62; VDF 6.25.0.107 X-Miltered: at nez-perce with ID 40D97126.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; rossberg:01 rossberg:01 uni-sb:01 caml-list:01 escapes:01 escapes:01 resorting:01 generative:01 ocaml's:01 intermodule:01 intermodule:01 recursion:01 funcs:01 funcs:01 compil:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk skaller wrote: > >>Note that you cannot return values such that the module name escapes >>its scope. > > Which escapes me. Felix allows types to be defined > anywhere and also allows them to escape, it creates > no problem I'm aware of (except that you can't > name them without resorting to the typeof() operator). I believe the presence of syntactic names for all generative types is essential for the theoretical underpinnings of OCaml's type and module system. > Topic ---------------------Language X ------------ Language Y > Intermodule fun calls Yes No > Intermodule type recursion Yes No > Nest everything (excl funcs) Yes No > Nest funcs No Yes > Full sep compil Yes No > Platform indep code No Yes How did you arrive at that table? AFAICS, the right column contains too many No entries (intermodule function calls, full sep compilation), while the left contains too many Yes entries (nest everything, or rather compositionality is definitely not given for C/C++, full sep compilation neither - considering that you have to manually share some code in header files). -- Andreas Rossberg, rossberg@ps.uni-sb.de Let's get rid of those possible thingies! -- TB ------------------- 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