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