michalmuskala

michalmuskala

Erlfmt 1.0 release candidate

I’m very happy to announce that recently we’ve released erlfmt 0.13.0 that we consider first release candidate for the 1.0 release.

What is erlfmt

erlfmt is an opinionated Erlang code formatter. By automating the process of formatting the code, it frees your team up to focus on what the code does, instead of what it looks like. erlfmt works with any Erlang file: .erl , .hrl , rebar.config , escripts, and more. It can be used both in rebar3 projects and standalone as a precompiled escript.

In it’s design approach erlfmt is very similar to the Elixir formatter - it should feel very familiar for most Elixir users. The formatter never changes the semantics or structure of the code. It provides as little configuration as possible. It also avoids special cases as much as possible. Elixir users will also find the familiar behaviour of preserving newlines and respecting some other elements of the original format.

What does the 1.0 release mean

With the 1.0 release we intend to stabilise the format — this means that changes that cause the formatter to re-format the code won’t happen, outside of fixing critical bugs. This offers increased stability and confidence to the users.

We’d like your feedback

We intend to release the final 1.0 version on May 17. Now is the final opportunity for feedback, if you’d like to influence the format erlfmt produces. In general, though, we won’t consider major changes, in particular those around major choices we’ve been documenting in formatting decision documents, without a very compelling argument.

It’s now great time to try out erlfmt on your project. If you do have any feedback we haven’t addressed before, we would appreciate you sharing your remarks on github issues with examples.

Links

Most Liked

olafura

olafura

Congratulations this was one of the things always bothered me when I was getting into Erlang, before Elixir was a thing. I feel like it’s going to help people experiment with Erlang.

Where Next?

Popular in Erlang News Top

Devtalk
A new Erlang news item has been posted! Link: Release OTP 23.2.6 · erlang/otp · GitHub Posted via Devtalk.
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
Devtalk
A new Erlang news item has been posted! Get the full details here: The Many-to-One Parallel Signal Sending Optimization - Erlang/OTP
New
erlangforums
This thread will be used to cross-post official Erlang News via erlangforums.com (and will replace the Devtalk Erlang news cross-poster)....
130 10143 148
New
Devtalk
A new Erlang news item has been posted! Posted via Devtalk.
New
jhogberg
maint was accidentally hard-reset to master about an hour ago and pushed upstream, and a few of our own commits were then based on incorr...
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.6 · erlang/otp · GitHub Posted via Devtalk.
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.2 · erlang/otp · GitHub Link: Release OTP 21.3.8.24 · erlang/otp · Git...
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.4 · erlang/otp · GitHub Posted via Devtalk.
New
kennethL
Read the new Blog post by John Högberg at the OTP team. It is a brief primer on BEAM, the virtual machine that executes user code in th...
New

Other popular topics Top

albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

We're in Beta

About us Mission Statement