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 IAA28791; Tue, 23 Mar 2004 08:23:55 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 IAA29257 for ; Tue, 23 Mar 2004 08:23:54 +0100 (MET) Received: from iona.labri.fr (iona.labri.fr [147.210.8.143]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i2N7NrHd001122 for ; Tue, 23 Mar 2004 08:23:53 +0100 Received: from localhost (localhost.localdomain [127.0.0.1]) by localhost.labri.fr (Postfix) with ESMTP id 57EDA13C06 for ; Tue, 23 Mar 2004 08:23:53 +0100 (CET) Received: from iona.labri.fr ([127.0.0.1]) by localhost (iona.labri.fr [127.0.0.1]) (amavisd-new, port 10024) with SMTP id 09519-03 for ; Tue, 23 Mar 2004 08:23:48 +0100 (CET) Received: from igloo.labri.fr (igloo.labri.fr [147.210.9.44]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (Client did not present a certificate) by iona.labri.fr (Postfix) with ESMTP id CFDA113C09 for ; Tue, 23 Mar 2004 08:23:47 +0100 (CET) Received: from igloo.labri.fr (localhost.localdomain [127.0.0.1]) by igloo.labri.fr (8.12.5/8.12.5) with ESMTP id i2N7PaCW001495 for ; Tue, 23 Mar 2004 08:25:36 +0100 Received: (from blume@localhost) by igloo.labri.fr (8.12.5/8.12.5/Submit) id i2N7PZhu001493 for caml-list@inria.fr; Tue, 23 Mar 2004 08:25:35 +0100 Date: Tue, 23 Mar 2004 08:25:35 +0100 From: Achim Blumensath To: caml-list@inria.fr Subject: Re: [Caml-list] extensible records again Message-ID: <20040323072535.GA1371@labri.fr> Mail-Followup-To: caml-list@inria.fr References: <20040321062143.BE7D29BBA2@orchestra.cs.caltech.edu> <20040322081355.GB28239@labri.fr> <20040323021456.816F39BBA2@orchestra.cs.caltech.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040323021456.816F39BBA2@orchestra.cs.caltech.edu> User-Agent: Mutt/1.4i X-Virus-Scanned: by amavisd-new at labri.fr X-Miltered: at concorde by Joe's j-chkmail ("http://j-chkmail.ensmp.fr")! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; blumensath:01 blume:01 caml-list:01 extensible:01 vanier:01 opaque:01 opaque:01 blumensath:01 www-mgi:01 blume:01 o----:01 unify:01 bool:01 bool:01 labri:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk X-Status: X-Keywords: X-UID: 320 Michael Vanier wrote: > I took up your suggestion and downloaded your code. In Opaque.ml I see > this mysterious declaration: > > type opaque 'a = > { > data : !'b . 'b; > type_info : type_info 'a > } > and type_info 'a = > { > apply : opaque 'a -> 'a -> 'a; > compare : opaque 'a -> opaque 'a -> bool; > unify : opaque 'a -> opaque 'a -> bool > }; > > I realize that this uses the revised syntax, but I can't find any > documentation on what "!'b . 'b" is supposed to mean. It looks like a > universal quantifier on 'b -- correct? Yes, it is mentioned in the manual at the end of section 1.5. The usual syntax is 'b . 'b without the !. Achim -- ________________________________________________________________________ | \_____/ | Achim Blumensath \O/ \___/\ | LaBRI / Bordeaux =o= \ /\ \| www-mgi.informatik.rwth-aachen.de/~blume /"\ o----| ____________________________________________________________________\___| ------------------- 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