Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-11-07 | EEP-23: Allow variables in fun M:F/A | Björn Gustavsson | |
Currently, the external fun syntax "fun M:F/A" only supports literals. That is, "fun lists:reverse/1" is allowed but not "fun M:F/A". In many real-life situations, some or all of M, F, A are not known until run-time, and one is forced to either use the undocumented erlang:make_fun/3 BIF or to use a "tuple fun" (which is deprecated). EEP-23 suggests that the parser (erl_parse) should immediately transform "fun M:F/A" to "erlang:make_fun(M, F, A)". We have not followed that approach in this implementation, because we want the abstract code to mirror the source code as closely as possible, and we also consider erlang:make_fun/3 to be an implementation detail that we might want to remove in the future. Instead, we will change the abstract format for "fun M:F/A" (in a way that is not backwards compatible), and while we are at it, we will move the translation from "fun M:F/A" to "erlang:make_fun(M, F, A)" from sys_pre_expand down to the v3_core pass. We will also update the debugger and xref to use the new format. We did consider making the abstract format backward compatible if no variables were used in the fun, but decided against it. Keeping it backward compatible would mean that there would be different abstract formats for the no-variable and variable case, and tools would have to handle both formats, probably forever. Reference: http://www.erlang.org/eeps/eep-0023.html | |||
2011-05-12 | Types and specifications have been modified and added | Hans Bolinder | |
2011-03-22 | Fix a bug concerning record field types | Hans Bolinder | |
The default value 'undefined' was added to records field types in such a way that the result was not always a well-formed type. This bug has been fixed. --- erl_pp has since OTP-8150 formatted types so that 'undefined' was removed from union types assigned to record fields. Since one cannot distinguish between 'undefined' added by the parser or supplied by the user, a side effect was that user supplied 'undefined's were also removed. Now the pretty printer shows 'undefined' even if added by the parser. This is a minor issue. | |||
2011-03-11 | Update copyright years | Björn-Egil Dahlberg | |
2011-02-17 | Rename Suite Callback to Common Test Hook | Lukas Larsson | |
2011-02-17 | Fix formatting for stdlib | Lukas Larsson | |
2011-02-17 | Add init_per_suite and end_per_suite | Lukas Larsson | |
2011-02-17 | Add ts_install_scb to suite/0 | Lukas Larsson | |
2011-02-17 | Update stdlib tests to conform with common_test standard | Lukas Larsson | |
2011-02-17 | Update all fin_per_testcase to end_per_testcase. | Lukas Larsson | |
2010-06-02 | OTP-8664 Erlang parser augmented with operators for integer types | Hans Bolinder | |
Expressions evaluating to integers can now be used in types and function specifications where hitherto only integers were allowed ("Erlang_Integer"). | |||
2010-04-19 | OTP-8567 The word 'spec' is no longer reserved. | Hans Bolinder | |
The function erl_scan:reserved_word/1 no longer returns true when given the word spec. This bug was introduced in STDLIB-1.15.3 (R12B-3). | |||
2010-03-17 | OTP-8522 Avoid duplicated 'undefined' in record field types | Hans Bolinder | |
The Erlang parser no longer duplicates the singleton type undefined in the type of record fields without initial value. | |||
2010-03-02 | OTP-8473 stdlib: erl_pp bugfix abstract type 'fun' | Hans Bolinder | |
The abstract type 'fun' could not be printed. This bug has been fixed. | |||
2009-11-20 | The R13B03 release.OTP_R13B03 | Erlang/OTP | |