The Rd interface defines the type Rd. T , or reader , and defines operations on this type that form a uniform interface to all readers. Other interfaces and module define various subtypes of Rd. The RdClass interface defines the buffer data structures, and allows clients requiring extra efficiency direct access to the buffer data structures.
Writers work similarly.
The code and specifications. Readers and writers are really our most impressive examples to date. The Rd and RdClass interfaces define the common interface and buffer structures for readers. UnsafeRd.i3 defines versions of the reader operations that assume that the caller holds a lock on the reader locked. Despite the name, this interface is safe in the technical Modula-3 sense.