<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">A new version of etran parse transforms has been released.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><a href="https://github.com/saleyn/etran">https://github.com/saleyn/etran</a><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">In this version a "defarg" parse transform is added to support default function arguments.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Example:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style=""><font face="monospace">test(A / 10, B / 20) -></font></div><div class="gmail_default" style=""><font face="monospace"> A + B.</font></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style=""><font face="arial, helvetica, sans-serif">The code above is transformed to:</font><br><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style=""><font face="monospace">test() -> test(10);</font></div><div class="gmail_default" style=""><font face="monospace">test(A) -> test(A, 20);</font></div><div class="gmail_default" style=""><font face="monospace">test(A,B) -> A+B.</font></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">More examples taken from unit tests:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">defarg_test() </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">-></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(95,215,255);background-color:rgb(255,255,255)">?assertEqual</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">3</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, a()),
</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(95,215,255);background-color:rgb(255,255,255)">?assertEqual</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">9</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, a(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">7</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">)),
</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(95,215,255);background-color:rgb(255,255,255)">?assertEqual</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">10</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, a(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">6</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">,</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">4</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">)),
</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(95,215,255);background-color:rgb(255,255,255)">?assertEqual</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">7.0</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, c()),
</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(95,215,255);background-color:rgb(255,255,255)">?assertEqual</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">9</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, d()),
</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(95,215,255);background-color:rgb(255,255,255)">?assertEqual</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">5</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, d(</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">abc</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, </span><span style="color:rgb(255,215,215);background-color:rgb(255,255,255)">[</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">1</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">,</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">2</span><span style="color:rgb(255,215,215);background-color:rgb(255,255,255)">]</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">)),
</span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">ok</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">.
</span></span></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"><br></span></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace">a(<span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">A</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">1</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, </span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">B</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">2</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">) </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">-></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">A</span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">+</span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">B</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">.
</span></span></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"><br></span></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace">c(<span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">A</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> (</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">10</span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">*</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">2</span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">-</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">15</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">), </span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">B</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> (</span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">64</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">32</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">)) </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">-></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">A</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">+</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">B</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">.
</span></span></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"><br></span></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace">d(<span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">A</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,84,255);background-color:rgb(255,255,255)">undefined</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">, </span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">B</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">/</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="color:rgb(255,215,215);background-color:rgb(255,255,255)">[]</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">) </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">-></span></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"> <span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">length</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">atom_to_list</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">A</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">)) </span><span style="color:rgb(255,255,84);background-color:rgb(255,255,255)">+</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)"> </span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">length</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">(</span><span style="font-weight:bold;color:rgb(84,255,255);background-color:rgb(255,255,255)">B</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">).</span></span></div></blockquote><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"><br></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace">Regards,</span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace"><br></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><span style="font-family:monospace">Serge</span></div></div>