NEWS: 2012

News year 2012

Written by Henrik, 28 Nov 2012

Erlang/OTP R15B03 has been released on schedule November 28:th. It is the third R15 service release.


See the release notes in the Read me

Download the new release from the Downloads page

Or prebuilt packages from Erlang Solutions Downloads page

Written by Henrik, 15 Nov 2012

Tech Mesh – The Alternative Programming Conference 4th-6th December

Tech Mesh takes place in London between the 4th and the 6th of December and it will go down in history with a first:


Joe Armstrong, Robert Virding and Mike Williams will be together on a stage for the first time, giving a joint keynote on ‘183 years of programming’


Other great talks include:

Garret Smith:  Building an Application Platform: Lessons from CloudBees

Stuart Bailey:  Erlang and OpenFlow: A Match Made in the Cloud!

Steve Vinoski: Implementing Riak in Erlang: Benefits and Challenges

Chris Brown: Living in a Polyglot World: Ruby on the client, Erlang on the server

Francesco Cesarini: OTP, the middleware for concurrent distributed scalable architectures

Pavlo Baron: 100% Big Data. 0% Hadoop. 0% Java

Jesper Richter Reichhelm: You are not alone - multiplayer games in Erlang


The event covers 8 tracks and over 50 speakers among whom are Simon Peyton Jones, Philip Wadler and John Hughes – also on a joint keynote, Rich Hickey, Bruce Tate – “author of 7 languages in 7 weeks”, Klarna CTO David Craelius and many more. For a full list of the over 50 speakers, check out the event programme on the website:


See you at Tech Mesh!

Written by Patrik, 16 Oct 2012


The OTP Technical Board makes decisions regarding the future of the product and the language that are not possible to make directly by developers or development teams. It takes into consideration internalEricsson customer demands and needs as well as Open Source ditto.

OTP Technical Board had a meeting 2012-10-11 regarding features to add or remove from the product in the upcoming release R16. As some of the decisions may affect users in the open source community, the decisions are published here on the web.

Issue 1 - Unicode source code.

- The board decided to go for a solution where comments in the code (in the same way as in Python) informs the tool chain about input file encoding formats. This means that only UTF-8 and ISO-Latin-1  encoding will be supported. All source files can be marked as containing UTF-8 encoded Unicode characters by using the same mechanism (even files read using file:consult/1), namely formalized comments in the beginning of the file.

The change to the file format will be done incrementally, so that  the tools will accept Unicode input (meaning that source code can contain Unicode strings, even for binary construction), but restrictions regarding characters in atoms will remain for two releases (due to distribution compatibility). The default file encoding will be ISO-Latin-1 in R16, but will be changed to UTF-8 in R17.

Source code will need no change in R16, but adding a comment denoting ISO-Latin-1 encoding will ensure that the code can be compiled with the R17 compiler. Adding a comment denoting UTF-8 encoding will allow for Unicode characters with code points > 255 in string and character literals in R16. The same comment will allow for atoms containing any Unicode code point in R18. From this follows that function names also can contain any Unicode code point in R18.

UTF-8 BOM's will not be handled due to their limited use. 

Variable names will continue to be limited to Latin characters.

Issue 2 - Column numbers in compiler error messages.

- The Board decided to accept the patch for column numbers although it breaks compatibility regarding the abstract format. An abstraction for reading selected fields of the file position information will be added, so that changes to the position information will not cause incompatibilities in the future.

This means that "parse_transform's" concerning themselves with line numbers may need to be rewritten slightly to work in R16.

Column numbers will not be optional, they will always be enabled.

Issue 3 - What to do with unsupported feature 'packages'.

- The 'package' system as it is implemented today clutters the code of OTP. While being a fair idea from the beginning, it has not been fully implemented or in any way supported. It's also scarcely used.

If we would want a system to remove the flat name space, the design should be reviewed and probably changed to better fit the current application concept.

The board decided to remove the unsupported 'packages' support from the product in R16.

Issue 4 - What to do with unsupported feature 'parameterized modules'.

- The board acknowledges that a lot of software relies on this feature although it's always been experimental. The current form of the implementation is not acceptable and the parameterized modules as such has never been accepted as a feature in the language. The feature is also not compatible with for example module-fun's and is not fully integrated with the rest of the tools in OTP.

To allow for source code compatibility, the board decides to only remove the syntactic support for parameterized modules. This means:

* Apply with tuple modules will be retained, supported and properly documented.

* Error handler functionality that today supports inheritance will be slightly generalized, so that parameterized modules can contain stubs to facilitate inheritance. The functionality in the error handler will be documented.

* The parser will accept the syntax for implementation of parameterized modules, but if the parameterized modules are not handled by a parse_transform, an error message will be generated at a later stage (this concerns the implementation of the modules themselves only).

* A parse_transform handling source code implementing a parameterized module will be published in the public domain, free to use and include in any package needing it. It will however not be part of OTP. As it uses supported and documented functionality, it will however be expected to work for forthcoming releases as well, or at least to be possible to adopt to forthcoming releases.

As apply with tuple modules is retained, calls to parameterized modules will remain as they look today. Only the implementation of the parameterized modules themselves need to apply a parse transform to allow for the "unsupported" syntax extensions. Calling a function in an instance of a parameterized module from an evaluator (e.g. the shell) will also work as before.

Best regards,

Patrik & Kenneth 

Written by Henrik, 05 Sep 2012

Erlang/OTP R15B02 has been released on schedule September 5:th. It is the second R15 service release.

See the release notes in the Read me

Download the new release from the Downloads page

Or prebuilt packages from Erlang Solutions Downloads page


  • Dialyzer: The type analysis tool Dialyzer is optimized to be generally faster. - It can now also run in parallel (default) on SMP systems and by this perform the analysis significantly faster (Thanks to Stavros Aronis and Kostis Sagonas)
  • The SSL application now has experimental support for the TLS 1.1 and 1.2 standards as well (Thanks to Andreas Schultz).
  • CommonTest: It is now possible to sort the generated html tables. A Netconf client (ct_netconf) which support basic netconf over ssh is added
  • Diameter: Statistics counters related to Diameter messages can now be retrieved by calling the diameter:service_info/2 function.
  • Various smaller optimizations in the Erlang VM
  • This release also contains 66 contributions from users outside the Ericsson team

Written by Kenneth, 17 Aug 2012

ErlangCamp is back, this time in Coruña Spain the 5-6:th of October.

We felt it our duty as good upstanding engineers to let you know about ErlangCamp 2012 which will be held in Coruña Spain this Oct 5th and 6th.

Why Erlang? Why ErlangCamp? And what could I possibly learn in two days?

In two days, you learn how to build world-class solutions using the technology that powers NoSQL data stores like Basho’s Riak and CouchDB, enterprise messaging platforms like VMWare’s RabbitMQ and ejabbard, Erlang Solutions’ OpenFlow software-defined network (SDN) switch LINC, VoIP platforms like Kazoo, financial exchange systems, and commercial solutions from companies like Ericsson, Klarna, Campajna, Tail-f Systems, 2600Hz, Machine Zone, ShoreTel, and Quviq.

Your instructors are experts at developing real-world Erlang/OTP-based solutions, including two of the authors of the "Erlang and OTP in Action" (

And, of course, you will be at the Universidade da Coruña, in scenic Northern Spain (Note* the program is in English). Take a couple extra days, and make it a working vacation!

For more information see the ErlangChamp website ( or email

Written by Kenneth, 03 July 2012

Spawnfest, a 48 hours programming contest for Erlang, is back again this year. It is scheduled for July 7-8, and open to any team of 1 to 4 members. Prizes to be given!

It's a great opportunity to show the world what Erlang/OTP and its users are capable of. The contest is in no way limited to web applications or any specific domain; diversity of entries is embraced.

Participants will see their entries judged by Eric B. Merrit ( founding member of the Erlware, co-author of "Erlang and OTP in Action"), Joe Armstrong (co-inventor of Erlang), Loïc Hoguin (Founder of Nine Nines, writer of Cowboy), and Scott Lystig Fritchie (long-time Erlang user, senior software engineer at Basho, worked on D-Trace for  Erlang, and so on).

You can register your team at

Written by Henrik, 19 Apr 2012 has announced the availability of LINC, an Erlang based open source soft switch implementing the 1.2 version of the OpenFlow standard. The LINC switch has now been released as commercial friendly open source through the community website, encouraging users and vendors to use LINC and contribute to its development. The initial LINC implementation focuses on correctness and feature compliance. Through an abstraction layer, specialized network hardware drivers can be easily interfaced to LINC. It has been implemented by using the power and flexibility of the Erlang programming language and software environment. Erlang allows for rapid industrial strength implementations, a key requirement for developing and deploying an evolving technology such as OpenFlow. For more information, visit

Written by Kenneth, 09 Apr 2012

The description below is an excerpt from Erlang Solutions download page.

Erlang Solutions has the facilities to port Erlang to your operating system and hardware platform of choice. We have ported Erlang to a wide range of configurations, from embedded to high specification servers. These have included HiPE enabled, 32 and 64 bit configurations, alongside the half-word emulator. We have worked with operating systems such as VxWorks, OSE Delta, QNX, Android and iOS as well as the most popular operating systems. We are able to create and test customized binaries where your applications are packaged and tested alongside the OTP ones on the hardware / operating systems of your choice. Packages and ports that we are currently building and testing free of charge include popular Linux, Mac OS X and Windows versions. They can be downloaded from their Erlang Download page.

Written by Henrik, 03 Apr 2012

Erlang/OTP R15B01 has been released ahead of schedule on April 3:rd. It is the first service release.

See the release notes in the Read me

Download the new release from the Downloads page



  • Added erlang:statistics(scheduler_wall_time) to ensure correct determination of scheduler utilization. Measuring scheduler utilization is strongly preferred over CPU utilization, since CPU utilization gives very poor indications of actual scheduler/vm usage.
  • Changed ssh implementation to use the public_key application for all public key handling. This is also a first step for enabling a callback API for supplying public keys and handling keys protected with password phrases. Additionally the test suites where improved so that they do not copy the users keys to test server directories as this is a security liability. Also ipv6 and file access issues found in the process has been fixed.
  • When an escript ends now all printout to standard output and standard error gets out on the terminal. This bug has been corrected by changing the behaviour of erlang:halt/0,1, which should fix the same problem for other escript-like applications, i.e. that data stored in the output port driver buffers got lost when printing on a TTY and exiting through erlang:halt/0,1. The BIF:s erlang:halt/0,1 has gotten improved semantics and there is a new BIF erlang:halt/2 to accomplish something like the old semantics. See the documentation.
  • The DTrace source patch from Scott Lystig Fritchie is integrated in the source tree. Using an emulator with dtrace probe is still not supported for production use, but may be a valuable debugging tool. Configure with --with-dynamic-trace=dtrace (or --with-dynamic-trace=systemtap) to create a build with dtrace probes enabled. See runtime_tools for documentation and examples
  • Added Torbjörn Törnkvists LDAP client as a new application called eldap.
  • Added options for the ssh client to support user keys files that are password protected.

Browse through other years
previous (2011) | next (2013)
How do you want to browse the news?

Powered by Erlang Web