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