[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):