<br><br><div class="gmail_quote">On Mon, Aug 20, 2012 at 2:14 PM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span> wrote:</div><div class="gmail_quote">
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">OK. I didn&#39;t mean to suggest that #flatten was useful only for Arrays.<br>
They&#39;re just a convenient thing to use for examples: literal syntax. I<br>
hadn&#39;t really thought of collections of Strings. I&#39;m not sure why<br>
double dispatch is particularly useful, unless you&#39;re thinking of<br>
being able to flatten arbitrary objects - turning a Person into<br>
{#name. &#39;Frank&#39;}.</blockquote><div><br></div><div>Strings are collections of characters, so <span class="Apple-style-span" style="border-collapse:collapse;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">Levente&#39;s example of </span><span class="Apple-style-span" style="border-collapse:collapse;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">#(&#39;foo&#39; (&#39;bar&#39;)) flatten would give you #($f $o $o $b $a $r). That&#39;s probably not what you wanted. Double-dispatch lets String opt out of flattening, so you&#39;d get $(&#39;foo&#39; &#39;bar&#39;).</span></div>
<div><span class="Apple-style-span" style="border-collapse:collapse;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span class="Apple-style-span" style="border-collapse:collapse;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px">Colin</span></div>
<div><span class="Apple-style-span" style="border-collapse:collapse;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span class="Apple-style-span" style="border-collapse:collapse;color:rgb(80,0,80);font-family:arial,sans-serif;font-size:13px"><br>
</span></div></div>