The EEP contains the index of all Erlang Enhancement Proposals, known as EEPs. EEP numbers are assigned by the EEP Editor, and once assigned are never changed. The history of the EEP texts represent their historical record.
The textual format for an EEP is described in EEP 1, and EEP 33 is a template.
EEPs are discussed on the mailing list eeps@erlang.org and accepted or rejected by the OTP team.
Status | Num | Title | Owner |
---|---|---|---|
P | 0 | Index of Erlang Enhancement Proposals (EEPs) |
Raimo Niskanen |
P | 1 | EEP Purpose and Guidelines |
Per Gustafsson |
PF/R-33 | 2 | Sample Plaintext PEP Template |
Per Gustafsson |
PF/R-33 | 3 | Sample reStructuredText EEP Template |
Per Gustafsson |
SF/R12B-0 | 4 | New BIFs for bit-level binaries (bit strings) |
Per Gustafsson |
S | 5 | More Versatile Encapsulation with `export_to` |
Richard A. O'Keefe |
SF/R12B-0 | 6 | New BIFs for tuple and binary sizes |
Björn Gustavsson |
SR | 7 | Foreign Function Interface (FFI) |
Alceste Scalas |
SF/R13B03 | 8 | Types and function specifications |
Tobias Lindahl |
SF/R-34 | 9 | Library for working with binaries |
Fredrik Svahn |
S | 10 | Representing Unicode characters in Erlang |
Patrik Nyblom |
SA/R12B-3u | 11 | Built in regular expressions in Erlang |
Patrik Nyblom |
S | 12 | Extensions to comprehensions |
Richard A. O'Keefe |
S | 13 | -enum declarations |
Richard A. O'Keefe |
S | 14 | Guard clarification and extension |
Richard A. O'Keefe |
S | 15 | Portable funs |
Richard A. O'Keefe |
S | 16 | is_between/3 |
Richard A. O'Keefe |
S | 17 | Fix andalso and orelse |
Richard A. O'Keefe |
SP | 18 | JSON bifs |
Richard A. O'Keefe |
S | 19 | Comprehension multigenerators |
Richard A. O'Keefe |
S | 20 | Split the atoms! |
Richard A. O'Keefe |
S | 21 | Optional trailing commas for lists and tuples |
Richard A. O'Keefe |
S | 22 | Range checking for binaries |
Richard A. O'Keefe |
SF/R12B-4 | 23 | Allow variables in `fun M:F/A` |
Richard A. O'Keefe |
SF/R12B-5 | 24 | Functions may be named using `F/N` in all module attributes |
Richard A. O'Keefe |
S | 25 | Unnesting cases |
Richard A. O'Keefe |
SA/R13A | 26 | Make andalso and orelse tail-recursive |
Björn Gustavsson |
S | 27 | Multi-Parameter Typechecking BIFs |
James Hague |
S | 28 | Optional leading semicolons for choices |
Richard A. O'Keefe |
S | 29 | Abstract Patterns, Stage 1 |
Richard A. O'Keefe |
SF/R13A/R14A | 30 | Maximum and Minimum |
Richard A. O'Keefe |
SF/R14A | 31 | Binary manipulation and searching module |
Patrik Nyblom |
S | 32 | Module-local process names |
Richard A. O'Keefe |
P | 33 | Sample Markdown EEP Template |
Raimo Niskanen |
S | 34 | Extended basic packet options for decode_packet |
Tony Rogvall |
S | 35 | Binary string module(s) |
Patrik Nyblom |
SF/R15B | 36 | Line numbers in exceptions |
Björn Gustavsson |
SF/R15B | 37 | Funs with names |
Richard A. O'Keefe |
S | 38 | -discontiguous directive |
Richard A. O'Keefe |
S | 39 | Scoped Group Leaders |
Yurii Rashkovskii |
S | 40 | A proposal for Unicode variable and atom names in Erlang |
Richard A. O'Keefe |
S | 41 | Pseudo-assignment for Erlang |
Richard A. O'Keefe |
S | 42 | setrlimit(2) analogue for Erlang |
Richard A. O'Keefe |
SF/17.0 | 43 | Maps |
Björn-Egil Dahlberg |
SA/19.0-we | 44 | Additional preprocessor directives |
Björn Gustavsson |
SA/19.0 | 45 | New macros for function name and arity |
Björn Gustavsson |
S | 46 | B-trees: balanced search trees of order n |
Walter Weinmann |
SF/21.0 | 47 | Add syntax in try/catch to retrieve the stacktrace directly |
Björn Gustavsson |
SF/24.0 | 48 | Documentation storage and format |
José Valim |
SF/25.0 | 49 | Value-Based Error Handling Mechanisms |
Fred Hebert |
SF/24.0 | 50 | Maps based set implementation |
José Valim |
SA/23.0 | 51 | Underscore digit separator in numeric literals |
Sergey Prokhorov |
SA/23.0 | 52 | Allow key and size expressions in map and binary matching |
Björn Gustavsson |
SF/24.0 | 53 | Process aliases preventing late replies reaching clients |
Rickard Green |
SF/24.0 | 54 | Provide more information about errors |
Björn Gustavsson |
S | 55 | Pinning operator ^ in patterns |
Richard carlsson |
SF/24.0 | 56 | Automatic supervisor shutdown triggered by termination of significant children |
Maria Scott |
S | 57 | Extending the syntax of patterns with alternative matches |
Serge Aleynikov |
SF/26.0 | 58 | Map comprehensions |
Sergey Prokhorov |
SF/27.0 | 59 | Module attributes for documentation |
José Valim |
S | 60 | Introduce Support for Experimental Features |
Cons T Åhs |
SF/26.0 | 61 | Built-in dynamic type |
Ilya Klyuchnikov |
S | 62 | String interpolation syntax |
Tom Davies |
SR | 63 | Lightweight UTF-8 binary string literals and patterns |
Tom Davies |
SF/27-w | 64 | Triple-Quoted Strings |
Raimo Niskanen |
S | 65 | `import_type` Directive |
Ilya Klyuchnikov |
SF/27.0 | 66 | Sigils for String Literals |
Raimo Niskanen |
SR | 67 | Internal exports |
Marko Minđek |
SF/27.0 | 68 | JSON library |
Michał Muskała |
SA | 69 | Nominal Type |
Isabell Huang |
SF/28.0 | 70 | Strict and relaxed generators |
Dániel Szoboszlay |
SF/28.0 | 71 | Clarify the type documentation, especially regarding type variables |
John Högberg |
SA | 72 | Reserved words and Variables as record names, and enhancement to definition syntax |
Jesse Gumm |
SF/28.0 | 73 | Zip generator |
Isabell Huang |
Tag | Description |
---|---|
S | Standards Track EEP |
P | Process EEP |
A | Accepted proposal |
R | Rejected proposal |
P | Replaced proposal |
D | Deferred proposal |
F | Final proposal |
/24.0 | Implemented in OTP release 24 |
/27.0 | Implemented in OTP release 27 |
/23.0 | Implemented in OTP release 23 |
/R12B-0 | Proposal is implemented in OTP release R12B-0 |
/R15B | Implemented in OTP release R15B |
/R13B03 | Proposal documented and implemented in OTP R13B03 |
/19.0-we | Proposal's -warning and -error directives are implemented in OTP release 19 |
/28.0 | Implemented in OTP release 28 |
/19.0 | Implemented in OTP release 19 |
/26.0 | Implemented in OTP release 26 |
/17.0 | Implemented in OTP release 17 |
/R13A/R14A | Implemented in OTP release R13A and R14A |
/R13A | Implemented in OTP release R13A |
/21.0 | Implemented in OTP release 21 |
/R12B-5 | Implemented in OTP release R12B-5 |
/R-33 | Replaced by EEP 33 |
/R-34 | Replaced with EEP-11 and EEP-31 except binary_string which is part of a new string implementation |
/R12B-3u | Proposal is implemented in OTP release R12B-3, except for Unicode support according to EEP 10 |
/R14A | Implemented in OTP release R14A |
/25.0 | Implemented in OTP release 25 |
/R12B-4 | Implemented in OTP release R12B-4 |
/27-w | Implemented in OTP release 27 with a warning in OTP version 26.1 |
Author | |
---|---|
Alceste Scalas | <alceste(at)crs4(dot)it> |
Björn Gustavsson | <bjorn(at)erlang(dot)org> |
Björn-Egil Dahlberg | <egil(at)Erlang.org> |
Cons T Åhs | <cons(at)erlang(dot)org> |
Dániel Szoboszlay | <dszoboszlay@gmail.com> |
Fred Hebert | <mononcqc(at)ferd(dot)ca> |
Fredrik Svahn | <Fredrik(dot)Svahn(at)gmail> |
Ilya Klyuchnikov | <ilya(dot)klyuchnikov(at)gmail(dot)com> |
Isabell Huang | <isabell(at)erlang(dot)org> |
James Hague | <james(dot)hague(at)gmail(dot)com> |
Jesse Gumm | <ja(at)gumm(dot)io> |
John Högberg | <john(at)erlang(dot)org> |
José Valim | <jose(dot)valim(at)gmail(dot)com> |
Maria Scott | <maria-12648430(at)hnc-agency(dot)org> |
Marko Minđek | <marko.mindek(at)invariant(dot)hr> |
Michał Muskała | <micmus(at)whatsapp(dot)com> |
Patrik Nyblom | <pan(at)erlang(dot)org> |
Per Gustafsson | <pergu(at)it(dot)uu(dot)se> |
Raimo Niskanen | <raimo(at)erlang(dot)org> |
Richard A. O'Keefe | <ok(at)cs(dot)otago(dot)ac(dot)nz> |
Richard carlsson | <carlsson.richard(at)gmail(dot)com> |
Rickard Green | <rickard(at)erlang(dot)org> |
Serge Aleynikov | <saleyn(at)gmail(dot)com> |
Sergey Prokhorov | <seriy(dot)pr(at)gmail(dot)com> |
Tobias Lindahl | <tobias(dot)lindahl(at)it(dot)uu(dot)se> |
Tom Davies | <todavies5(at)gmail(dot)com> |
Tony Rogvall | <tony(at)rogvall(dot)se> |
Walter Weinmann | <walter.weinmann@gmail.com> |
Yurii Rashkovskii | <yrashk(at)gmail(dot)com> |
This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.