hauleth
Trending in Erlang News
A new Erlang announcement has been posted:
Original announcement:
New
A new Erlang announcement has been posted:
Original announcement:
https://erlangforums.com/t/patch-package-otp-27-3-4-19-released/6049
New
A new Erlang announcement has been posted:
Original announcement:
New
Other Trending Topics
Hey there,
I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first.
...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly)
AI dream has many faces, but general...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #blog-post
- #ecto-query
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
dom
And the news posting: Erlang OTP 22.0 is released - Erlang/OTP
jeremyjh
This is the biggest thing that jumped out at me:
garazdawi
I wrote a blog post describing some of the highlights in greater detail
dimitarvp
Much appreciated, thank you!
LostKobrakai
I just watched https://www.youtube.com/watch?v=N_qaz5Dny9k and on the topic of “Fragmented distribution messages” I noticed it sound just like the erlang schedulers for network messaging
tmbb
It’s interesting that you’re now omitting type checks through “whole module” analysis. Are there any performance improvements to be had from distinguishing from floats and integers?
Qqwy
I am also interested in more information about the in-module type check analysis:
Does this mean that when repeatedly pattern-matching on the type of a variable whose type is already known (like an Erlang record or an Elixir struct (AKA a map with a certain
__struct__key?)), that these will be completely elided?This would be amazing, since it is very common to use e.g. public functions of a library (that pattern match on the data structure passed in to prevent incorrect usage by library users) inside the implementation of other functions in the library as well.
As an example, in the vectors/matrices/tensors library ‘tensor’, the function Tensor.Matrix.symmetric?/1 function internally calls the function Tensor.Matrix.transpose/1 on its parameter. Since both of these functions are public, both of these check if the data structure passed in is a matrix (i.e. a
%Tensor{}struct where the ‘dimensions’ field is a list of length 2).If these kinds of duplicate checks are optimized away, that would be really cool!
Amazing work, Erlang Core team!
bjorng
Since Erlang allows integers of arbitrary size, it is difficult to optimize integer arithmetic. Even if we would introduce special operations for integer arithmetic, we would not gain much because those operations would have to check that the result of the operation would still fit in a smallnum.
It is easier to optimize floating point instructions, since the size of the result is fixed (a 64-bit floating point number). In fact, BEAM has special instructions for floating point arithmetic and has had them for a long time (since OTP R7 or R8, I think). The new whole module type analysis helps those floating point optimizations by finding more places where general arithmetic operations can be replaced with floating point instructions.
bjorng
The type analysis currently keeps track of the types of all elements in tuples and will omit unnecessary type tests for known elements. (That also cover Erlang records, since they are tuples.)
Currently, the type analysis pass does not keep track of the keys or values for maps. It only keeps tracks of variables that are maps, so that the
is_maptest can be omitted, but there will be repeated tests for__struct__.We plan to improve the type analysis pass in OTP 23 and it is very likely that it will be extended to keep track of keys and values in maps.
tmbb
I was mainly thinking of the fact that a hypothetical strongly typed language on the BEAM could compile to “type-erased” code directly.