<div dir="ltr"><div><div>I think if you seriously want to push macros then LFE, or any other lisp for that matter, is a much better option. It is much more straight-forward and readable. It also gives you the option of creating new syntax which Elixir macros don't. Elixir has a slightly "lax" syntax which allows you to hide that everything is a function call but you can't create new syntax.<br><br></div>Of course some people lisp doesn't actually have any syntax but I prefer to view it as being very simple and very consistent. :-)<br><br></div>Robert<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 26 February 2016 at 22:27, Onorio Catenacci <span dir="ltr"><<a href="mailto:Catenacci@ieee.org" target="_blank">Catenacci@ieee.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Message: 16<br>
Date: Fri, 26 Feb 2016 18:28:05 +0000<br>
From: Andrew Berman <<a href="mailto:rexxe98@gmail.com" target="_blank">rexxe98@gmail.com</a>><br>
To: Erlang Questions <<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a>><br>
Subject: [erlang-questions] Any Erlang Devs Contemplating Elixir?<br>
Message-ID:<br>
<<a href="mailto:CAEVpa76ftrrjTP56FPULTkDuNNqGDiXtZ-iPTEMtEKStRWjOQw@mail.gmail.com" target="_blank">CAEVpa76ftrrjTP56FPULTkDuNNqGDiXtZ-iPTEMtEKStRWjOQw@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<span class=""><br>
<br>
Hey Fellow Erlangers,<br>
<br>
I was curious if any of you guys have switched or are contemplating using<br>
Elixir for your next project. I've been programming Erlang for a while now,<br>
but I'm about to start a new project and wanted to see where other Erlang<br>
devs stood on it.<br>
<br>
Thanks,<br>
<br>
Andrew<br></span></blockquote><div><br></div><div>Hi Andrew,</div><div><br></div><div>While there may be other considerations you want to keep in mind, there's one, to my mind, major point that's been neglected in the discussion of using Elixir: macros.</div><div><br></div><div>I have been led to understand by people far more familiar with Erlang than I am that in order to use certain behaviours from OTP one has to write boilerplate code for several callbacks whether one wants to modify the behavior from defaults or not. </div><div><br></div><div>Elixir's macros allow the library to provide default implementations for these callback functions. Of course a developer can override the defaults if needed but not having to code what I don't need strikes me as a big advantage--especially if we're discussing a new developer who doesn't already know either Erlang or Elixir.</div><div><br></div><div>I say this with full awareness that Elixir's macros are a good thing and a bad thing too because it seems that every noob Elixir developer on our mailing list wants to use macros everywhere. That and every noob seems to be convinced that the pipe forward operator (|>) just has to be used _everywhere_. <br></div><div><br></div><div>I can certainly understand the thinking of folks who are familiar with Erlang. I feel the same way when people ask me why I never learned Java (I do C# for the day job). Why would I bother? But for new developers I do believe the fact that they can use OTP without having to worry about creating a lot of boilerplate code is a significant advantage.<br></div><div><br></div><div>By the way, I've never written a line of Ruby in my life and I still need to get round to looking at Phoenix. Not everyone looking at Elixir is a Ruby developer looking for a more scalable Ruby on Rails--although in fairness there are a lot of them. </div><div><br></div><div>FWIW. </div><div><br></div><div>--</div><div>Onorio</div><div><br></div><div><br></div></div>
</div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>