<br><br><div class="gmail_quote">On Thu, Apr 5, 2012 at 11:59 AM, Tillmann Rendel <span dir="ltr">&lt;<a href="mailto:rendel@informatik.uni-marburg.de">rendel@informatik.uni-marburg.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">Paul R wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am curious what are interesting use-cases for that? Symbolic<br>
analysis? self-compilers?<br>
</blockquote>
<br></div>
Optimization. For example, imagine the following definition of function composition:<br>
<br>
  map f . map g = map (f . g)<br>
  f . g = \x -&gt; f (g x)<br>
<br>
In Haskell, we cannot write this, because we cannot pattern match on function calls.<span class="HOEnZb"><font color="#888888"><br>
<br>
  Tillmann</font></span><div class="HOEnZb"><div class="h5"><br></div></div></blockquote>So, we&#39;re not talking about optimization as in Mathematical Programming but optimization in language constructs.<br class="Apple-interchange-newline">
<div> </div><div>You might want to take a look at MIN by Stephen Tse.</div><div> </div></div>-- <br>--<br>Regards,<br>KC<br>