In all situations where the rules are well specified, ECL prints
objects according to ANSI. The specification leaves however a number of
cases as implementation dependent behavior. The output of ECL in those
cases is summarized in Table 20.1. Except for the types
character and random-state, most of those examples
regard non-standard written forms #<...> cannot be
read back using read. These printed representations are
just informative and should not be used to reconstruct or compare
objects.
Table 20.1. Implementation specific printed representation
| Lisp type | Format | Remarks |
|---|---|---|
| package | #<package | |
| random-state | #$ | |
| bitvector | #<bit-vector | Only when *print-array* is false. |
| vector | #<vector | Only when *print-array* is false. |
| array | #<array | Only when *print-array* is false. |
| hash-table | #<hash-table | |
| readtable | #<readtable | |
| interpreted function | #<bytecompiled-function | Name is a symbol. |
| machine compiled function | #<compiled-function | Name is a symbol. |
| input-stream | #<input stream " | An stream that reads from filename. |
| output-stream | #<output stream " | An stream that writes to filename. |
| probe-stream | #<probe stream " | |
| string-input-stream | #<string-input stream from " | The string is the text left to be read. |
| string-output-stream | #<string-output stream | |
| two-way-stream | #<two-way stream | |
| echo-stream | #<echo stream | |
| synonym-stream | #<synonym stream to | |
| broadcast-stream | #<broadcast stream | |
| concatenated-stream | #<concatenated stream | |
| closed-stream | #<closed | The dots denote any of the above stream forms. |