<p>Is it really so bad to use an explicit let when you need mutually recursive bindings?</p>
<div class="gmail_quote">On Aug 8, 2012 1:51 PM, &quot;Martijn Schrage&quot; &lt;<a href="mailto:martijn@oblomov.com">martijn@oblomov.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>On 08-08-12 19:01, Simon Hengel wrote:<br>
    </div>
    <blockquote type="cite">
      <pre>On Wed, Aug 08, 2012 at 12:22:39PM -0400, David Feuer wrote:
</pre>
      <blockquote type="cite">
        <pre>Changing scoping rules based on whether things are right next to each
other? No thanks.
</pre>
      </blockquote>
      <pre>
Would expanding each let-less binding to a separate let &quot;feel&quot; more
sound to you?

</pre>
    </blockquote>
    That was actually my first idea, but then two declarations at the
    same level will not be in the same binding group, so <br>
    <br>
    <font face="Courier New, Courier, monospace">do x = y<br>
         y = 1<br>
    </font><br>
    would not compile. This would create a difference with all the other
    places where bindings may appear. <br>
    <br>
    However, having scope depend on things being next to each other (or
    rather, not having anything in between) is not new. Template Haskell
    declaration splices already cause separate binding groups for
    top-level declarations. Moreover, the new scope rule only holds for
    let-less bindings. If you use explicit lets nothing changes.<br>
    <br>
    -- Martijn<br>
  </div>

<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div>