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 PAA20299; Thu, 7 Nov 2002 15:50:26 +0100 (MET) 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 PAA18909 for ; Thu, 7 Nov 2002 15:50:25 +0100 (MET) Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id gA7EoOD21734 for ; Thu, 7 Nov 2002 15:50:24 +0100 (MET) Received: from localhost (localhost [127.0.0.1]) by cs.rice.edu (Postfix) with SMTP id CDAFB4AB18; Thu, 7 Nov 2002 08:50:22 -0600 (CST) Received: from localhost (localhost [127.0.0.1]) by cs.rice.edu (Postfix) with ESMTP id 64A274AB1E; Thu, 7 Nov 2002 08:50:22 -0600 (CST) Received: from frosty.cs.rice.edu (frosty.cs.rice.edu [128.42.1.20]) by cs.rice.edu (Postfix) with ESMTP id A36C94AB18; Thu, 7 Nov 2002 08:50:20 -0600 (CST) Received: from localhost (taha@localhost) by frosty.cs.rice.edu (8.9.3+Sun/8.9.0) with ESMTP id IAA11828; Thu, 7 Nov 2002 08:49:47 -0600 (CST) X-Authentication-Warning: frosty.cs.rice.edu: taha owned process doing -bs Date: Thu, 7 Nov 2002 08:49:46 -0600 (CST) From: Walid Taha To: Jacques Garrigue Cc: , Emir Pasalic Subject: Re: [Caml-list] dynamic runtime cast in Ocaml In-Reply-To: <20021107162220A.garrigue@kurims.kyoto-u.ac.jp> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS snapshot-20020300 X-DCC--Metrics: cs.rice.edu 1066; Body=1 Fuz1=1 Fuz2=1 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi Jacques, Thank you for your quick responce. On Thu, 7 Nov 2002, Jacques Garrigue wrote: |From: Walid Taha | |> Were nested quantifiers (either existentials or universals) considered in |> the context of OCaml? If not, are there plans to add them? Thanks. | |I'm not sure of what you are asking about, and whether this is |relevant to the question of runtime casts. Sorry if it wasn't clear, but you've answered along the right lines. Need to dynamic casting (outside specifics of the oo setting) sometimes can be replaced by abstract datatypes (existentials) or dependent types (which you mention below). |If this is a question of type systems, then yes there are nested |universal quantifiers in ocaml, which you can use either through |object types (polymorphic methods), record types (polymorphic fields) |or the module system (not first-class quantification, but this was not |explicit in your question). |For existential quantification, you only get it more or less with |modules. Note that modules defined by "let module" are a bit weak in |this context, as the types they define cannot escape their scope. | |Does this answer your question, or were you talking about something |else? Certainly. Do you know if there are any plans to add nested quantifiers explicitly? |By the way, for the expressivity addict (Curry-style), there is now a |branch in CVS with support for a specific form of dependent types. You |can get it by | cvs update -r multimatch `cat testlabl/dirs_multimatch` |(when it is not broken). |I plan to provide it as a patch after the next release. This sounds very interesting! I'll check it. Thanks! Walid. ------------------- 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