<div dir="ltr">2008/7/27 Robert Virding <span dir="ltr"><<a href="mailto:rvirding@gmail.com">rvirding@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr">2008/7/27 YC <span dir="ltr"><<a href="mailto:yinso.chen@gmail.com" target="_blank">yinso.chen@gmail.com</a>></span><br><div class="gmail_quote"><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div dir="ltr">There is a way to satisfy this request without breaking single assignment, and that is to have a more sophisticated  scoping. <br><div class="gmail_quote"><div><br>For example, the above in lisp/scheme are:<br>


<br>(let ((t (something t)))<br>  (let ((t (something t)))<br>     (let ((t (something t)))<br>...)))<br><br>No mutabilities involved - just better scopes - can't be that bad for Erlang, right? ;)</div></div></div></blockquote>

</div><div><br>Shameless plug:<br><br>Well you can do this today if you use LFE. Plus ti gives you a lot of other lisp goddies as well.</div></div></div></blockquote><div><br>Well, if I had been thinking I of course would have written:<br>
<br>(let* ((t (something t))<br>      (t (something t))<br>      (t (something t))<br>      ... )<br>  (something t))<br> <br></div></div>which is very close to the original suggestion.<br><br>Robert<br><br></div>