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 argi for i..n would have type Ti for the types of each slot in C. I think it adds up logically... but it is rather odd.

On 10 April 2015 at 20:35, Frank Staals <frank@fstaals.net> wrote:
Tom Ellis <tom-lists-haskell-cafe-2013@jaguarpaw.co.uk> writes:

> Has anyone ever considered permitting case branches to be eta reduced?  For
> example, it is often nice to rewrite
>
>     foo x = bar baz x
>
> as
>
>     foo = bar baz
>
> Likewise, I have often wanted to rewrite
>
>     case m of
>         Nothing -> n
>         Just x  -> quux x
>
> as
>     case m of
>         Nothing -> n
>         Just    -> quux
>
> Am I missing an obvious reason this wouldn't work?
>
> Tom

I would think that is a bit weird since Nothing and Just have different
types.

--

- Frank
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe