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 14.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 14.1. Implementation specific printed representation
Lisp type | Format | Remarks |
---|---|---|
character | #U | Only used for non standard characters without names. |
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. |