Re:Two years of Elixir at The Outline
by enraged_camel on Friday October 26, 2018 @12:48PM
(#18310919)
The only way Elixir resembles Ruby is the syntax. Everything else is totally different.
[ Parent
| on HN ]
Re:Two years of Elixir at The Outline
by zinclozenge on Friday October 26, 2018 @01:44PM
(#18311370)
The similarities are exclusively because of the do..end
Beyond that there's barely any resemblance.
Re:Two years of Elixir at The Outline
by mmartinson on Friday October 26, 2018 @03:02PM
(#18311909)
The optional parenthesis syntax is pretty similar and arguably a bit unfortunate, though wider adoption of the code formatter seems to largely correct this. It's nice in the console to type a bit less, but I can't imagine the utility of this in code that any other person is going to read.
Re:Two years of Elixir at The Outline
by BenMorganIO on Friday October 26, 2018 @04:01PM
(#18312315)
Often times when writing a macro or a function that should appear as though it's a part of a DSL, the advantage of turning off parenthesis can shine here. That's why parenthesis are optional with a lot of the Ecto macros.
Optional parentheses are pretty much a requirement considering how much of Elixir is actually 'just' macros. I'm very happy that the formatter adds them for me as much as possible though, because I'm also not a fan of how far Ruby takes it.
Re:Two years of Elixir at The Outline
by BenMorganIO on Sunday November 04, 2018 @10:25AM
(#18376246)
Agreed. I used to remove parenthesis as often as possible. Looking back at the code, that may not have been the brightest idea.
I really do like the coding convention though that lack of parenthesis can indicate a function meant to be a part of a DSL.
I agree. As an additional point, when you have auto-formatting on save, this can also enrich your insight about the DSL at hand. It has for me.
As a long-time Emacs user recently I finally bit the bullet and started working with VSCode (with vscode-elixir and ElixirLS installed).
...Gods, what a relief. Especially the automatic formatting on save is just a lifesaver. At certain point I would not mind if there is one formal syntax enforced like Go does.
Ecto is practically the only library I use where I don't pay attention to parentheses. And the formatter has me covered afterwards.