doc: Add section describing last changes

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
This commit is contained in:
Daniel Kochmański 2015-08-17 13:40:08 +02:00
parent ddb503a919
commit b706775d39

View file

@ -7,6 +7,39 @@
<chapter xml:id="ansi.data-and-control">
<title>Data and control flow</title>
<section xml:id="ansi.let-behavior">
<title><function>LET</function>, <function>FLET</function>,
<function>LABELS</function> and <emphasis>lambda list</emphasis>
&ANSI; addendum</title>
<para>&ANSI; doesn't specify what should happen if any of the
<function>LET</function>, <function>FLET</function> and
<function>LABELS</function> blocks contain many
<emphasis>bindings</emphasis> (or <emphasis>functions</emphasis>)
sharing the same name. Because the behavior varies between the
implementations and the programmer can't rely on the spec, &ECL;
signals an <emphasis>error</emphasis> if such situation
occurs. This is also very unlikely, that programmer does that
intentionally, since there is no valid use-case for it.
</para>
<para>Moreover, while &ANSI; defines <emphasis>lambda
list</emphasis> parameters in the terms of
<function>LET*</function>, programmer can't provide an
initialization forms for required parameters. If required
parameters share the same name <emphasis>error</emphasis> is
signalled.
</para>
<para>Described behavior is present in &ECL; since version
<emphasis>16.0.0</emphasis>. Previously the
<function>LET</function> operator were using first binding, while
<emphasis>lambda lists</emphasis> used last occurrence. Both
<function>FLET</function> and <function>LABELS</function> were
singalling an error if C compiler was used and used last binding as
visible one when <emphasis>bytecmp</emphasis> was used.</para>
</section>
<section xml:id="ansi.minimal-compilation">
<title>Minimal compilation</title>