Why not allow empty record updates?
Yitzchak Gale
gale at sefer.org
Tue Nov 15 12:15:37 CET 2011
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
More information about the Glasgow-haskell-users
mailing list