RE: Undefined labels

From: Manuel Fahndrich (maf@microsoft.com)
Date: Fri Nov 12 1999 - 18:06:47 MET


From: Manuel Fahndrich <maf@microsoft.com>
To: caml-list@inria.fr
Subject: RE: Undefined labels
Date: Fri, 12 Nov 1999 09:06:47 -0800

This is the standard example for why we need a local open in the language.

-Manuel

-----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,

> (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 Évry Cedex



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:28 MET