ecl/doc/ansi_printer.xml
Daniel Kochmański 1a3aecc2d6 doc: add documentation as doc subdirectory
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-04 21:55:36 +02:00

138 lines
No EOL
5.3 KiB
XML

<?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>#&lt;...&gt;</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>#&lt;package <replaceable>name</replaceable>&gt;</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>#&lt;bit-vector <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry>Only when <varname>*print-array*</varname> is false.</entry>
</row>
<row>
<entry><type>vector</type></entry>
<entry><literal>#&lt;vector <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry>Only when <varname>*print-array*</varname> is false.</entry>
</row>
<row>
<entry><type>array</type></entry>
<entry><literal>#&lt;array <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry>Only when <varname>*print-array*</varname> is false.</entry>
</row>
<row>
<entry><type>hash-table</type></entry>
<entry><literal>#&lt;hash-table <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>readtable</type></entry>
<entry><literal>#&lt;readtable <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry>interpreted <type>function</type></entry>
<entry><literal>#&lt;bytecompiled-function <replaceable>name-or-id</replaceable>&gt;</literal></entry>
<entry>Name is a <type>symbol</type>.</entry>
</row>
<row>
<entry>machine compiled <type>function</type></entry>
<entry><literal>#&lt;compiled-function <replaceable>name</replaceable>&gt;</literal></entry>
<entry>Name is a <type>symbol</type>.</entry>
</row>
<row>
<entry><type>input-stream</type></entry>
<entry><literal>#&lt;input stream "<replaceable>filename</replaceable>"&gt;</literal></entry>
<entry>An stream that reads from <replaceable>filename</replaceable>.</entry>
</row>
<row>
<entry><type>output-stream</type></entry>
<entry><literal>#&lt;output stream "<replaceable>filename</replaceable>"&gt;</literal></entry>
<entry>An stream that writes to <replaceable>filename</replaceable>.</entry>
</row>
<row>
<entry><type>probe-stream</type></entry>
<entry><literal>#&lt;probe stream "<replaceable>filename</replaceable>"&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>string-input-stream</type></entry>
<entry><literal>#&lt;string-input stream from "<replaceable>string-piece</replaceable>"&gt;</literal></entry>
<entry>The string is the text left to be read.</entry>
</row>
<row>
<entry><type>string-output-stream</type></entry>
<entry><literal>#&lt;string-output stream <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>two-way-stream</type></entry>
<entry><literal>#&lt;two-way stream <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>echo-stream</type></entry>
<entry><literal>#&lt;echo stream <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>synonym-stream</type></entry>
<entry><literal>#&lt;synonym stream to <replaceable>symbol</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>broadcast-stream</type></entry>
<entry><literal>#&lt;broadcast stream <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>concatenated-stream</type></entry>
<entry><literal>#&lt;concatenated stream <replaceable>unique-id</replaceable>&gt;</literal></entry>
<entry></entry>
</row>
<row>
<entry><type>closed-stream</type></entry>
<entry><literal>#&lt;closed <replaceable>...</replaceable>&gt;</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>