5.3 Goals of the module
The Streams module provides:
- A generic, easy-to-use interface for streaming over sequences and files. The same high-level interface for consuming or producing is available irrespective of the type of stream, or the types of the elements being streamed over.
- Efficiency, especially for the common case of file I/O.
- Access to an underlying buffer management protocol.
The Streams module does not address a number of related issues, including:
- A standard object-printing package such as Smalltalk's
printOn: or Lisp's print-object, or a formatted printing facility such as Lisp's format. These facilities are provided by the Print, Format, and Format-out libraries. For convenience, the Functional-Extensions library also provides simple formatting capabilities.
- General object dumping and loading.
- A comprehensive range of I/O facilities for using memory-mapped files, network connections, and so on.
- An interface for naming files. The Locators module provides such an interface.
- An interface to operating system functionality, such as file renaming or deleting operations. The File-System module provides such an interface.