<div dir="ltr">Sorry I've not been able to get back to you sooner, Loïc.  As I said, I got that impression from people I know who are working with production Erlang systems--and I don't believe I misunderstood them on that point.  Maybe they need to learn a bit more about Erlang too. <div><br></div><div><div><div>--</div><div>Onorio</div><div><div><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 27, 2016 at 5:54 AM, Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 02/26/2016 10:27 PM, Onorio Catenacci wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
While there may be other considerations you want to keep in mind,<br>
there's one, to my mind, major point that's been neglected in the<br>
discussion of using Elixir: macros.<br>
<br>
I have been led to understand by people far more familiar with Erlang<br>
than I am that in order to use certain behaviours from OTP one has to<br>
write boilerplate code for several callbacks whether one wants to modify<br>
the behavior from defaults or not.<br>
<br>
Elixir's macros allow the library to provide default implementations for<br>
these callback functions.  Of course a developer can override the<br>
defaults if needed but not having to code what I don't need strikes me<br>
as a big advantage--especially if we're discussing a new developer who<br>
doesn't already know either Erlang or Elixir.<br>
</blockquote>
<br></span>
I'm not even sure what makes you think you need macros to provide default implementations? You don't. The gen_server for example has an optional callback with a default implementation: format_error. That it doesn't provide defaults for other callbacks is purely a design choice, and not a limitation of the language. You could trivially extend gen_server to make all callbacks optional, no need to have macros for that...<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Loïc Hoguin<br>
<a href="http://ninenines.eu" rel="noreferrer" target="_blank">http://ninenines.eu</a><br>
Author of The Erlanger Playbook,<br>
A book about software development using Erlang<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Onorio Catenacci<br> <br><a href="http://onor.io" target="_blank">http://onor.io</a><div><a href="http://www.google.com/+OnorioCatenacci" target="_blank">http://www.google.com/+OnorioCatenacci</a><br><div><br></div></div></div></div>
</div>