1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book [
<!ENTITY % eclent SYSTEM "ecl.ent">
%eclent;
]>
<book xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en">
<chapter xml:id="ansi.printer">
<title>Printer</title>
<para>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 <xref linkend="table.printer"/>. Except for the types
<type>character</type> and <type>random-state</type>, most of those examples
regard non-standard written forms <literal>#<...></literal> cannot be
read back using <function>read</function>. These printed representations are
just informative and should not be used to reconstruct or compare
objects.</para>
<table xml:id="table.printer">
<title>Implementation specific printed representation</title>
<tgroup cols="3">
<thead>
<row>
<entry>Lisp type</entry>
<entry>Format</entry>
<entry>Remarks</entry>
</row>
</thead>
<tbody>
<row>
<entry><type>package</type></entry>
<entry><literal>#<package <replaceable>name</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>random-state</type></entry>
<entry><literal>#$<replaceable>character array</replaceable></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>bitvector</type></entry>
<entry><literal>#<bit-vector <replaceable>unique-id</replaceable>></literal></entry>
<entry>Only when <varname>*print-array*</varname> is false.</entry>
</row>
<row>
<entry><type>vector</type></entry>
<entry><literal>#<vector <replaceable>unique-id</replaceable>></literal></entry>
<entry>Only when <varname>*print-array*</varname> is false.</entry>
</row>
<row>
<entry><type>array</type></entry>
<entry><literal>#<array <replaceable>unique-id</replaceable>></literal></entry>
<entry>Only when <varname>*print-array*</varname> is false.</entry>
</row>
<row>
<entry><type>hash-table</type></entry>
<entry><literal>#<hash-table <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>readtable</type></entry>
<entry><literal>#<readtable <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry>interpreted <type>function</type></entry>
<entry><literal>#<bytecompiled-function <replaceable>name-or-id</replaceable>></literal></entry>
<entry>Name is a <type>symbol</type>.</entry>
</row>
<row>
<entry>machine compiled <type>function</type></entry>
<entry><literal>#<compiled-function <replaceable>name</replaceable>></literal></entry>
<entry>Name is a <type>symbol</type>.</entry>
</row>
<row>
<entry><type>input-stream</type></entry>
<entry><literal>#<input stream "<replaceable>filename</replaceable>"></literal></entry>
<entry>An stream that reads from <replaceable>filename</replaceable>.</entry>
</row>
<row>
<entry><type>output-stream</type></entry>
<entry><literal>#<output stream "<replaceable>filename</replaceable>"></literal></entry>
<entry>An stream that writes to <replaceable>filename</replaceable>.</entry>
</row>
<row>
<entry><type>probe-stream</type></entry>
<entry><literal>#<probe stream "<replaceable>filename</replaceable>"></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>string-input-stream</type></entry>
<entry><literal>#<string-input stream from "<replaceable>string-piece</replaceable>"></literal></entry>
<entry>The string is the text left to be read.</entry>
</row>
<row>
<entry><type>string-output-stream</type></entry>
<entry><literal>#<string-output stream <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>two-way-stream</type></entry>
<entry><literal>#<two-way stream <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>echo-stream</type></entry>
<entry><literal>#<echo stream <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>synonym-stream</type></entry>
<entry><literal>#<synonym stream to <replaceable>symbol</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>broadcast-stream</type></entry>
<entry><literal>#<broadcast stream <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>concatenated-stream</type></entry>
<entry><literal>#<concatenated stream <replaceable>unique-id</replaceable>></literal></entry>
<entry></entry>
</row>
<row>
<entry><type>closed-stream</type></entry>
<entry><literal>#<closed <replaceable>...</replaceable>></literal></entry>
<entry>The dots denote any of the above stream forms.</entry>
</row>
</tbody>
</tgroup>
</table>
<xi:include href="ref_c_printer.xml" xpointer="ansi.printer.c-dict" xmlns:xi="http://www.w3.org/2001/XInclude"/>
</chapter>
</book>
|