<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The urge to do I/O at all the wrong places is a born instinct. </blockquote><div><br></div><div>The original poster was well aware how to factor out IO out of his program, as made apparent by his initial comment: &quot;<span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial, sans-serif; font-size: 13px; ">An option I suppose would be to read the dictionary at the top level, and then pass it all the way down to the analysis routine that uses it, but that exposes the details of how the analysis is done, and couples the top and bottom levels of the previously modular functions.&quot;</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial, sans-serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial, sans-serif; font-size: 13px; ">His original argument was a genuine observation that IO sometimes seems to be adverse to the loose coupling of modules. Dissing that argument away as: &quot;you are doing IO at the wrong place,&quot; doesn&#39;t convince me the least.</span></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial, sans-serif; font-size: 13px; "><br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial, sans-serif; font-size: 13px; ">Cheers, Marco</span></div>
<meta charset="utf-8"></div>