Simon Peyton-Jones wrote:
>> Trouble is, what type does this have?
>>       f x = x {}

Malcolm Wallace wrote:
> Empty record patterns {} are permitted, even for types
> that are not declared with named fields.
> So I don't see why an empty record update should
> require the type to be declared with named fields either.

Yes. The translation of record updates given in the Report
makes perfect sense for {}. It is only forbidden by
"n >= 1", but no reason is given for that restriction.

According to that translation, the type of x {} is
the type of the case expression it translates to.

Thanks,
Yitz

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to