[Prev][Next][Index]

LCL type specifications




   Date: Thu, 14 Jul 94 18:43:53 -0400
   From: Patrice Chalin <chalin@cs.concordia.ca>

   > An LCL spec type is local to a specification module.  It is useful if
   > you don't want clients of the module to have access to it.  Spec types
   > need not be implemented.  

   It seems to me that there is a possibility of misinterpretation in Yang Meng's
   statement

	   `Spec types need not be implemented.'
		       ^^^^^^^^

   (Yang Meng can correct me if I'm wrong :-).  Spec types MUST NOT be
   implemented in the sense that they must not be exported by the module.  A
   module can only export non spec constants, types, or functions that are
   explicitly mentioned in the interface specification (at least as far as I
   understand the intended semantics of LCL).

No.  Spec types are there for ease of specifications.  It means that
clients cannot rely on their existence in the implementation.  You can
implement a spec type if you wish, but your clients cannot rely on its
existence because you may decide to remove it in a new implementation.

- Yang Meng Tan



Reference(s):