<p dir="ltr">Good point. I've come to prefer explicit args, usually.</p>
<div class="gmail_quote">On Jul 2, 2014 7:56 PM, "Ryan Davis" <<a href="mailto:zenspider@gmail.com">zenspider@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Jun 26, 2014, at 20:43, Greg Hendershott <<a href="mailto:greghendershott@gmail.com">greghendershott@gmail.com</a>> wrote:<br>
<br>
> With something that big, I will often:<br>
><br>
> - Move that function to its own new .rkt file.<br>
> - Move the inner functions out to the module level, too (as "siblings"<br>
> not "kids").<br>
> - Provide only the main one, e.g. `(provide process-elements)`.<br>
><br>
> As a bonus, now it's easier to exercise the helper functions in the REPL.<br>
<br>
I usually nest my functions for two reasons: encapsulation (which you addressed) and scoping via closure.<br>
<br>
Your process explicitly breaks the latter. How does that affect the way you design? Do you prefer having explict args and passing everything down (perhaps to be more self-documenting?)?<br>
<br>
</blockquote></div>