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