dom

dom

Erlang/OTP 21.0 released

Here it comes!

First 9 of 9 Posts Switch mode

dimitarvp

dimitarvp

Code such as f({ok, Val}) → {ok, Val} is now automatically rewritten to f({ok, Val} = Tuple) → Tuple. this reduces code size, execution time, and removed GC pressure.

@josevalim Is Elixir gonna make use of that?

CptnKirk

CptnKirk

Pretty sure @josevalim contributed that patch. So..yea. :slight_smile:

OvermindDL1

OvermindDL1

“Tuple calls” have been removed from the run-time system.

:sob:

tmbb

tmbb

Don’t worry, you’ll get your OCaml-style modules some other way :winking_face_with_tongue:

kelvinst

kelvinst

Yes, it will, just mentioning (correct me if I’m wrong please) this is on compilation, so the compiled version of f({ok, Val}) -> {ok, Val} and f({ok, Val} = Tuple) -> Tuple are the same, but the code stays the same. So if you use OTP 21 with your Elixir, you’re already using that by default. :wink:

rvirding

rvirding

Creator of Erlang

This is a GOOD thing! They were trying to sneak in OO through a back door. :laughing:

tmbb

tmbb

But with OO the BEAM could become Enterprise-Ready like Java ™!

Qqwy

Qqwy

TypeCheck Core Team

Misc compiler optimizations including contributions from the Elixir team resulting in 10% improvements in benchmarks

Wow, good job! :heart:

Creation of small maps with literal keys optimized.

And this is of course also something that our map-heavy language will love :smiley: !

Support for usage of distribution controller processes for alternative transports, routing etc

Do I hear Partisan and friends coming rapidly nearer? Very cool news for everyone who is into distributed systems, I think!


Congrats, Erlang team!

OvermindDL1

OvermindDL1

Nah, tuple calls are fantastic to emulate first class module functors! Those can also handle ‘most’ of what OOP does as well, except when the compiler implements it well then it can become very efficient (though the beam doesn’t, but, say, OCaml does). :wink:

Now there is no way to emulate it as such, have to manually destructure and all now, which makes witness and such things much less opaque.

Seeing them only as an OOP construct is extremely limiting. :wink:

— All posts loaded —

Where Next?

Trending in Erlang News Top

bjorng
We want to introduce a new native datatype to Erlang: native records. Although replacing all tuple records with native records is not our...
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
jhogberg
Patch Package: OTP 29.0.5 Git Tag: OTP-29.0.5 Date: 2026-08-04 Trouble Report Id: OTP-...
New
jhogberg
Patch Package: OTP 28.5.0.5 Git Tag: OTP-28.5.0.5 Date: 2026-08-04 Trouble Report Id: ...
New
jhogberg
Patch Package: OTP 27.3.4.16 Git Tag: OTP-27.3.4.16 Date: 2026-08-04 Trouble Report Id: ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New

We're in Beta

About us Mission Statement