25 Sep
2002
25 Sep
'02
11:57 a.m.
On Wed, Sep 25, 2002 at 12:34:53PM +0100, Simon Peyton-Jones wrote:
I spoke too soon. Consider
data F = F Int !Int
data S = S { x::Int, y::!Int }
According to the words above F {} is illegal but what about this one? S {}
I think the sentence in question (end of 3.15.2) is just a clarification; the preceding 4 rules are sufficient and clear: F{}, S{} and S{x=3} are all illegal because they omit a value for a strict field. That is, it's correct, though not strictly necessary, nor does it cover all the cases.