<div dir="ltr">Hi Richard,<div><br></div><div>I tried to address the issue in this PR <a href="https://github.com/erlang/otp/pull/1123" target="_blank">https://github.com/erlang/otp/pull/1123</a></div><div><br></div><div>As a future improvement idea the parse transform could emit compilation errors.</div><div>I'm not sure if it is easy to differentiate between cases which would fail at runtime too and</div><div>cases which only fail during compilation (if there is any)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 8, 2016 at 10:48 AM, Richard Carlsson <span dir="ltr"><<a href="mailto:carlsson.richard@gmail.com" target="_blank">carlsson.richard@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Thanks for the report. Definitely sounds like a bug. I'm on vacation right now, but will look at it as soon as I can.</p>
<div class="gmail_quote"><div><div class="h5">Den 6 jul 2016 22:50 skrev "Peti Gömöri" <<a href="mailto:gomoripeti@gmail.com" target="_blank">gomoripeti@gmail.com</a>>:<br type="attribution"></div></div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hello,<div><br></div><div>While being knee deep in metaprogramming with merl (OTP 18.3) I made a small typo which led the compilation of my module into an infinite loop.</div><div><br></div><div>I managed to shrink it down to a module like this</div><div><br></div><div><div>    -module(infinity).</div><div>    -export([f/1]).</div><div>    -include_lib("syntax_tools/include/merl.hrl").</div><div>    f(V) -> merl:qquote("@var", [{var, V}]).</div></div><div><br></div><div>( or this oneliner call</div><div><div>    Form = merl:quote("f(V) -> merl:qquote(\"@var\", [{var, V}])."), merl_transform:parse_transform([Form], []).</div><div>)</div></div><div><br></div><div>Seems to me that the optimisation to create templates at compile time in merl_transform:expand_qquote is tricked.</div><div><br></div><div>Can this be considered a bug? I would expect either a compilation error or just silently creating a module which will throw at runtime.</div><div><br></div><div><br></div><div>thanks</div><div>Peter</div></div>
<br></div></div>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">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>
</blockquote></div><br></div>