gen_event:start_link().

{enter,into,a,scalable,world}.

Erlang/OTP 17 Has Been Released

No, it is not a versioning error … the Erlang usual Rn[A|B](-p) release format is now over … long life to the new R(.p) release format !

This new version bring us interesting changes including language changes:

  • EEP43: A new data type called Maps, for example:
$ erl
Erlang/OTP 17 [erts-6.0] [source-07b8f44] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Eshell V6.0  (abort with ^G)
1> M = maps:new().
#{}
2> N = M#{"user" => "mnemonic", "age" => "31"}.
#{"age" => "31","user" => "mnemonic"}
3> #{"user" := User, "age" := Age} = N. %% extract value of the keys "user" and "age"
#{"age" => "31","user" => "mnemonic"}
4> User.
"mnemonic"
5> Age.
"31"
  • Erlang/OTP has been ported to the realtime operating system OSE.
  • The {active, N} socket option for TCP, UDP, and SCTP where N is an integer in the range -32768..32767, to allow a caller to specify the number of data messages to be delivered to the controlling process.
  • A new scheduler utilization balancing mechanism has been introduced. For more information see the +sub command line argument.
  • Migration of memory carriers has been enabled by default on all ERTS internal memory allocators based on the alloc_util framework except for temp_alloc.
  • Increased garbage collection tenure rate.
  • Erlang “dirty schedulers” (experimental). In order to try the functionality out, you need to pass the command line argument --enable-dirty-schedulers to configure when building the system.
  • EEP37: Funs can now be given names.