Erlang developers release beta ready for next major version
The Erlang/OTP developers are preparing for the next release of the programming language with a beta release of Erlang/OTP R16A. The R16A beta release is a precursor to the "product release" of R16B, planned for 27 February.
Erlang is the language which powers Riak, CouchDB and GitHub, as well as numerous telecommunication applications, either in part or completely. Erlang/OTP (Open Telecom Platform) is the open source version of the language, combined with middleware libraries for developing distributed systems, which was released by the language's originators at Ericsson in 1998. For those unfamiliar with the language, the book "Learn you some Erlang (for great good)" is available to read online or in print and provides a complete introduction.
Erlang/OTP R16 will bring a number of optimisations to the internals of the Erlang runtime, with optimised process handling within the VM, run queue management, and process state changes. A new internal process table implementation will allow for parallel reads and writes too and code loading will no longer block. Alongside the improved process handling is a new internal port table with dynamic allocation of structures, raising the maximum ports from 1024 to 65536, and a rewrite of port task scheduling.
Developers will also be able to write Erlang code with UTF8-encoded characters in their source. Application changes include support for proxied HTTPS in the http client and a clean up of the Asn1 code. The Wx widgets application now compiles and can work with wxWidgets 2.9 and run on 64-bit Mac OS X.
R16 also sees the removal of parameterised module support and associated packages, though there is an alternative solution provided. Further details are available in the release notes. Source code and 32-bit and 64-bit Windows binaries are available from the downloads page. Binaries for Mac OS X and Debian or RPM-based Linux systems are also available from Erlang Solutions. Erlang is distributed under the Erlang Public Licence which is derived from the Mozilla Public Licence 1.1.