<div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">This looks like observation typing using #! (non recursive strict let).<br>See section 9.4
of the Clean language report.<br><br>The swap function could be written as:<br><br>swap a i j<br> #! x = lookup a i<br> #! y = lookup a j<br> = update! (update! a i y) j x</blockquote><div><br>And as Clean allows notation like
<br><br>swap a i j<br> #! x = lookup a i<br> y = lookup a j<br> = update! ( update! a i y ) j x<br><br>it seems that<br>' let* ' == ' #! '.<br></div></div>