diff options
Diffstat (limited to 'lib/compiler/doc/src')
-rw-r--r-- | lib/compiler/doc/src/compile.xml | 26 | ||||
-rw-r--r-- | lib/compiler/doc/src/notes.xml | 100 |
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> |