Raimo Niskanen <raimo(at)erlang(dot)org>

EEP 0: Index of Erlang Enhancement Proposals (EEPs) #

Introduction #

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 and accepted or rejected by the OTP team.

Index #

Numerical Index of EEPs
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
S 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/R17B 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

EEP Status Legend
Tag Description
S Standards Track EEP
P Process EEP
A Accepted proposal
R Rejected proposal
W Withdrawn proposal
D Deferred proposal
F Final proposal
/27.0 Implemented in OTP release 27.0
/24.0 Implemented in OTP version 24.0
/R-33 Replaced by EEP 33
/26.0 Implemented in OTP release 26.0
/R14A Implemented in OTP release R14A
/R17B Implemented in OTP R17B (except ...)
/21.0 Implemented in OTP version 21.0
/R12B-0 Proposal is implemented in OTP release R12B-0
/27-w Implemented in OTP version 27.0 with a warning in OTP version 26.1
/R12B-3u Proposal is implemented in OTP release R12B-3, except for Unicode support according to EEP 10
/23.0 Implemented in OTP release 23.0
/R12B-5 Implemented in OTP release R12B-5
/R15B Implemented in OTP release R15B
/R-34 Replaced with EEP-11 and EEP-31 except binary_string which is part of a new string implementation
/R12B-4 Implemented in OTP release R12B-4
/19.0-we Proposal's -warning and -error directives are implemented in OTP version 19.0
/R13B03 Proposal documented and implemented in OTP R13B03
/25.0 Implemented in OTP version 25.0
/R13A Implemented in OTP release R13A
/19.0 Implemented in OTP version 19.0
/R13A/R14A Implemented in OTP release R13A and R14A

EEP Owners
Author Email
Alceste Scalas <alceste(at)crs4(dot)it>
Björn Gustavsson <bjorn(at)erlang(dot)org>
Björn-Egil Dahlberg <egil(at)>
Cons T Åhs <cons(at)erlang(dot)org>
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 <>
James Hague <james(dot)hague(at)gmail(dot)com>
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 <>
Yurii Rashkovskii <yrashk(at)gmail(dot)com>

Copyright #

This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.

Warnings #

File 'status:' tag Implemented in OTP version 27.0 ne Implemented in OTP release 27.0!
File 'status:' tag Implemented in OTP version 27.0;        the regular expression sigils (`~r` and `~R`) are not implemented ne Implemented in OTP release 27.0!
File 'status:' tag Implemented in OTP version 23.0 ne Implemented in OTP release 23.0!
File 'status:' tag Implemented in OTP release 24.0 ne Implemented in OTP version 24.0!