<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 27, 2015 at 4:42 AM, Richard A. O'Keefe <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">defines as lens as a triple {Get,Put,Update}.</blockquote></div><br></div><div class="gmail_extra">This! Richard's implementation is better for numerous reasons, among which is that it provides an optimized Update-operation. When developing the logic, it is nice to say "Update is really just an application of the identity put(Lens, Data, Fun(get(Lens, Data))" because those kind of observations tend to shorten proofs. In practice however, there are often a speedup to be gained by recognizing code often has a nice way to "update-in-place" when a target element is found.<br></div><div class="gmail_extra"><br clear="all"><br>-- <br><div class="gmail_signature">J.</div>
</div></div>