Common Lisp provides streams, which can be used with an input or output function to identify an appropriate source or sink of characters or bytes for that operation. A number of extensions to this mechanism have been implemented:
  • CAPTURED-STREAM - CAPTURED-STREAM is a small Common Lisp library for viewing streams as sequences
  • changed-stream - Is a lisp library for non-destructive changing of streams by inserting or deleting characters at a position
  • fast-io - Fast-io is about improving performance to octet-vectors and octet streams (though primarily the former, while wrapping the latter)
  • flexi-streams - FLEXI-STREAMS is a library which implements "virtual" bivalent streams that can be layered atop real binary/bivalent streams
  • Gray streams - "Gray Streams" are a generic function wrapping of the COMMON-LISP streams in the standard library, allowing for further specialization by end users
  • graylex - graylex offers a means to do string operations on input streams without slurping all input at once by using Common Lisp Gray Streams, fixed-sized and flexible buffers
  • gzip-stream - gzip-stream is a simple wrapper around salza which gives CL users gzip compression and decompression in the form of streams (gzip-input-stream and gzip-output-stream)
  • odd-streams - ODD-STREAMS implements binary streams with "odd" byte sizes
  • simple-stream - Simple-streams are Franz's proposal for a Gray streams replacement
  • trivial-bit-streams - Trivial-bit-streams implements flexible buffered bit streams
  • trivial-gray-streams - trivial-gray-streams provides an extremely thin compatibility layer for Gray streams