<div dir="ltr">Well, I think his proposal was that for a constructor C with n slots, the RHS of the case alt would be expected to be an n-ary function where arg<i>i</i> for <i>i..n</i> would have type T<i>i</i> for the types of each slot in C. I think it adds up logically... but it is rather odd.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 10 April 2015 at 20:35, Frank Staals <span dir="ltr"><<a href="mailto:frank@fstaals.net" target="_blank">frank@fstaals.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Tom Ellis <<a href="mailto:tom-lists-haskell-cafe-2013@jaguarpaw.co.uk">tom-lists-haskell-cafe-2013@jaguarpaw.co.uk</a>> writes:<br>
<br>
> Has anyone ever considered permitting case branches to be eta reduced?  For<br>
> example, it is often nice to rewrite<br>
><br>
>     foo x = bar baz x<br>
><br>
> as<br>
><br>
>     foo = bar baz<br>
><br>
> Likewise, I have often wanted to rewrite<br>
><br>
>     case m of<br>
>         Nothing -> n<br>
>         Just x  -> quux x<br>
><br>
> as<br>
>     case m of<br>
>         Nothing -> n<br>
>         Just    -> quux<br>
><br>
> Am I missing an obvious reason this wouldn't work?<br>
><br>
> Tom<br>
<br>
</span>I would think that is a bit weird since Nothing and Just have different<br>
types.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
<br>
- Frank<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div>