From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: weis Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id TAA13655 for caml-redistribution@pauillac.inria.fr; Tue, 16 Nov 1999 19:38:20 +0100 (MET) Resent-Message-Id: <199911161838.TAA13655@pauillac.inria.fr> 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 BAA10470 for ; Tue, 16 Nov 1999 01:30:24 +0100 (MET) Received: from shell5.ba.best.com (shell5.ba.best.com [206.184.139.136]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id BAA04704 for ; Tue, 16 Nov 1999 01:30:21 +0100 (MET) Received: from localhost (bpr@localhost) by shell5.ba.best.com (8.9.3/8.9.2/best.sh) with ESMTP id QAA25990 for ; Mon, 15 Nov 1999 16:30:21 -0800 (PST) Date: Mon, 15 Nov 1999 16:30:20 -0800 (PST) From: Brian Rogoff To: caml-list@inria.fr Subject: RE: Undefined labels In-Reply-To: <783D93998201D311B0CF00805FEAA07B7E8FE5@RED-MSG-42> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: QUOTED-PRINTABLE Resent-From: weis@pauillac.inria.fr Resent-Date: Tue, 16 Nov 1999 19:38:20 +0100 Resent-To: caml-redistribution@pauillac.inria.fr On Fri, 12 Nov 1999, Manuel Fahndrich wrote: > > This is the standard example for why we need a local open in the language= . > > -Manuel Let me second that motion. Coming from Ada, I always wondered why OCaml doesn't allow you to restrict the scope of open, instead of putting it always at module level. -- Brian > > > -----Original Message----- > From: Christian RINDERKNECHT [mailto:rinderkn@hugo.int-evry.fr] > Sent: Friday, November 12, 1999 8:48 AM > To: caml-redistribution@pauillac.inria.fr > Cc: caml-list@inria.fr > Subject: Re: Undefined labels > > > Hello, > > > =09(Unix.fstat argument).st_kind > > > > Here, the function returns a structure, st_kind > > is a label of that structure, but it is not known > > in the calling module. Is there a syntax for this? > > Yes: > > (Unix.fstat argument).Unix.st_kind > ^^^^ > because the compiler doesn't know in what module to look-up for label > [st_kind]. > > > > Using 'open Unix' is unacceptable. > > I also never use the "open" feature, but the consequence is, when using > nested records, I must qualify all the labels (as in your example), > and the code becomes unreadable. > > I recently started using classes in order to avoid this practical > problem, since methods are in the scope of their object, not of the > module embedding their class. > > But this doesn't work if the library you are using is not > object-oriented, of course:) > > Best regards, > > -- > > Christian > > ----------------------------------------------------------------------- > Christian Rinderknecht Phone +33 (0)1 60 76 44 43 > Institut National des Télécommunications Fax +33 (0)1 60 76 47 11 > Département Logiciels Réseaux (LOR) WWW > 9, Rue Charles Fourier, F-91011 =C9vry Cedex >