From b92ea63417bc6933393a3c285faf393b3d287ac2 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Mon, 12 Dec 2011 18:14:34 +0100 Subject: Prepare release --- lib/compiler/doc/src/notes.xml | 99 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) (limited to 'lib/compiler/doc/src/notes.xml') diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index 740cbcf8eb..3f53a71764 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -31,6 +31,105 @@

This document describes the changes made to the Compiler application.

+
Compiler 4.8 + +
Fixed Bugs and Malfunctions + + +

+ Add '-callback' attributes in stdlib's behaviours

+

+ Replace the behaviour_info(callbacks) export in stdlib's + behaviours with -callback' attributes for all the + callbacks. Update the documentation with information on + the callback attribute Automatically generate + 'behaviour_info' function from '-callback' attributes

+

+ 'behaviour_info(callbacks)' is a special function that is + defined in a module which describes a behaviour and + returns a list of its callbacks.

+

+ This function is now automatically generated using the + '-callback' specs. An error is returned by lint if user + defines both '-callback' attributes and the + behaviour_info/1 function. If no type info is needed for + a callback use a generic spec for it. Add '-callback' + attribute to language syntax

+

+ Behaviours may define specs for their callbacks using the + familiar spec syntax, replacing the '-spec' keyword with + '-callback'. Simple lint checks are performed to ensure + that no callbacks are defined twice and all types + referred are declared.

+

+ These attributes can be then used by tools to provide + documentation to the behaviour or find discrepancies in + the callback definitions in the callback module.

+

+ Add callback specs into 'application' module in kernel + Add callback specs to tftp module following internet + documentation Add callback specs to inets_service module + following possibly deprecated comments

+

+ Own Id: OTP-9621

+
+ +

+ The calculation of the 'uniq' value for a fun (see + erlang:fun_info/1) was too weak and has been + strengthened. It used to be based on the only the code + for the fun body, but it is now based on the MD5 of the + BEAM code for the module.

+

+ Own Id: OTP-9667

+
+
+
+ + +
Improvements and New Features + + +

Variables are now now allowed in 'fun M:F/A' as + suggested by Richard O'Keefe in EEP-23.

+

The representation of 'fun M:F/A' in the + abstract format has been changed in an incompatible way. + Tools that directly read or manipulate the abstract + format (such as parse transforms) may need to be updated. + The compiler can handle both the new and the old format + (i.e. extracting the abstract format from a pre-R15 BEAM + file and compiling it using compile:forms/1,2 will work). + The syntax_tools application can also handle both + formats.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-9643

+
+ +

+ filename:find_src/1,2 will now work on stripped + BEAM files (reported by Per Hedeland). The HiPE compiler + will also work on stripped BEAM files. The BEAM compiler + will no longer include compilation options given in the + source code itself in M:module_info(compile) + (because those options will be applied anyway if the + module is re-compiled).

+

+ Own Id: OTP-9752

+
+ +

Inlining binary matching could cause an internal + compiler error. (Thanks to Rene Kijewski for reporting + this bug.)

+

+ Own Id: OTP-9770

+
+
+
+ +
+
Compiler 4.7.5
Fixed Bugs and Malfunctions -- cgit v1.2.3