Ten years without Elixir
news.ycombinator.com | 2021-01-13
No separation between header and code, structs are better than records (because they bear their data labels when you inspect them, even if you send to another node that doesn't recognize them), and also since elixir requires that the tags are modules, you can use them for polymorphism (this is the best of OOP without OOP).
Much better documentation support, better compile time infrastructure, smart metaprogramming (this package would be a PITA in erlang: https://github.com/ityonemo/zigler), opinionated but optional directory organization. Module namespaces which are trivially subdivided and aliased, easier time making anonymous GenServers. The Task module, full stop. The registry module, as well.news.ycombinator.com | 2021-01-13
Not an antipattern for nimble_parsec: https://github.com/ityonemo/zigler/blob/fe845a9fbbfef92da8ab...
Plus think of how much easier that pipe makes it for you to understand what is going on.
ityonemo/zigler is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.