<div dir="ltr">Dear list,<div>I was going through cowboy's code and I keep on seeing patterns such as this:</div><div><br></div><div><font face="monospace, monospace">_ = cowboy_req:reply(Status, Req), </font>  [1]<br></div><div><br></div><div>or this one:</div><div><br></div><div><div><font face="monospace, monospace">_ = case TRef of</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre"> </span>undefined -> ignore;</font></div><div><font face="monospace, monospace"><span class="" style="white-space:pre">     </span>TRef -> erlang:cancel_timer(TRef)</font></div><div><font face="monospace, monospace">end,</font>  [2]</div></div><div><br></div><div>All of these are done when we're there's no tail recursion. So now I'm curious: what is the purpose of explicitly assigning an anonymous variable to these expressions? Is this some kind of memory optimisation I'm just now aware of?</div><div><br></div><div>Best,</div><div>r.</div><div><br></div><div><br></div><div>[1] <a href="https://github.com/ninenines/cowboy/blob/1.0.1/src/cowboy_protocol.erl#L504">https://github.com/ninenines/cowboy/blob/1.0.1/src/cowboy_protocol.erl#L504</a><br></div><div>[2] <a href="https://github.com/ninenines/cowboy/blob/1.0.1/src/cowboy_handler.erl#L274">https://github.com/ninenines/cowboy/blob/1.0.1/src/cowboy_handler.erl#L274</a></div><div><br></div><div><br></div></div>