aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compiler/doc/src')
-rw-r--r--lib/compiler/doc/src/compile.xml26
-rw-r--r--lib/compiler/doc/src/notes.xml100
2 files changed, 125 insertions, 1 deletions
diff --git a/lib/compiler/doc/src/compile.xml b/lib/compiler/doc/src/compile.xml
index 27d750f929..ddaae2655d 100644
--- a/lib/compiler/doc/src/compile.xml
+++ b/lib/compiler/doc/src/compile.xml
@@ -816,6 +816,32 @@ pi() -> 3.1416.
</section>
<section>
+ <title>Inlining of list functions</title>
+ <p>The compiler can also inline a variety of list manipulation functions
+ from the stdlib's lists module.</p>
+
+ <p>This feature must be explicitly enabled with a compiler option or a
+ <c>-compile()</c> attribute in the source module.</p>
+
+ <p>To enable inlining of list functions, use the <c>inline_list_funcs</c>
+ option.</p>
+
+ <p>The following functions are inlined:</p>
+ <list type="bulleted">
+ <item><seealso marker="stdlib:lists#all/2">lists:all/2</seealso></item>
+ <item><seealso marker="stdlib:lists#any/2">lists:any/2</seealso></item>
+ <item><seealso marker="stdlib:lists#foreach/2">lists:foreach/2</seealso></item>
+ <item><seealso marker="stdlib:lists#map/2">lists:map/2</seealso></item>
+ <item><seealso marker="stdlib:lists#flatmap/2">lists:flatmap/2</seealso></item>
+ <item><seealso marker="stdlib:lists#filter/2">lists:filter/2</seealso></item>
+ <item><seealso marker="stdlib:lists#foldl/3">lists:foldl/3</seealso></item>
+ <item><seealso marker="stdlib:lists#foldr/3">lists:foldr/3</seealso></item>
+ <item><seealso marker="stdlib:lists#mapfoldl/3">lists:mapfoldl/3</seealso></item>
+ <item><seealso marker="stdlib:lists#mapfoldr/3">lists:mapfoldr/3</seealso></item>
+ </list>
+ </section>
+
+ <section>
<title>Parse Transformations</title>
<p>Parse transformations are used when a programmer wants to use
diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml
index 6d51074d4a..94fea84557 100644
--- a/lib/compiler/doc/src/notes.xml
+++ b/lib/compiler/doc/src/notes.xml
@@ -4,7 +4,7 @@
<chapter>
<header>
<copyright>
- <year>2004</year><year>2012</year>
+ <year>2004</year><year>2013</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
@@ -31,6 +31,104 @@
<p>This document describes the changes made to the Compiler
application.</p>
+<section><title>Compiler 4.9.1</title>
+
+ <section><title>Fixed Bugs and Malfunctions</title>
+ <list>
+ <item>
+ <p>
+ The compiler would crash attempting to compile
+ expressions such as "element(2, not_tuple)".</p>
+ <p>
+ Own Id: OTP-10794</p>
+ </item>
+ <item>
+ <p>
+ Forbid multiple values in Core Erlang sequence arguments.
+ Thanks to Jos� Valim and Anthony Ramine.</p>
+ <p>
+ Own Id: OTP-10818</p>
+ </item>
+ <item>
+ <p>
+ An unsafe optimization would cause the compiler to crash
+ with an internal error for certain complex code
+ sequences.</p>
+ <p>
+ Own Id: OTP-10825 Aux Id: seq12247 </p>
+ </item>
+ </list>
+ </section>
+
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>Integers in expression that will give a floating point
+ result (such as "<c>X / 2</c>" will now be converted to
+ floating point at compile-time. (Suggested by Richard
+ O'Keefe.)</p>
+ <p>Identical floating points constans in a module will
+ now be coalesced to one entry in the constant pool.</p>
+ <p>
+ Own Id: OTP-10788</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
+<section><title>Compiler 4.9</title>
+
+ <section><title>Improvements and New Features</title>
+ <list>
+ <item>
+ <p>
+ The compiler optimizations have been polished, so that
+ the code quality will be slightly better in some cases.</p>
+ <p>
+ Own Id: OTP-10193</p>
+ </item>
+ <item>
+ <p> Support for Unicode has been implemented. </p>
+ <p>
+ Own Id: OTP-10302</p>
+ </item>
+ <item>
+ <p>Where necessary a comment stating encoding has been
+ added to Erlang files. The comment is meant to be removed
+ in Erlang/OTP R17B when UTF-8 becomes the default
+ encoding. </p>
+ <p>
+ Own Id: OTP-10630</p>
+ </item>
+ <item>
+ <p>
+ Fix some wrong warnings triggered by the option
+ inline_list_funcs. Thanks to Anthony Ramine.</p>
+ <p>
+ Own Id: OTP-10690</p>
+ </item>
+ <item>
+ <p>
+ Forbid local fun variables in Core Erlang guards. Thanks
+ to Anthony Ramine.</p>
+ <p>
+ Own Id: OTP-10706</p>
+ </item>
+ <item>
+ <p>
+ Binary syntax matches could cause an internal consistency
+ error in in the compiler. (Thanks to Viktor Sovietov for
+ reporting this bug.)</p>
+ <p>
+ Own Id: OTP-10724</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Compiler 4.8.2</title>
<section><title>Fixed Bugs and Malfunctions</title>