| 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. Blargh. Excellent point. I had totally forgotten that. I withdraw all suggested changes except a cross-ref to the section you mention. Sigh. My brain is getting soft. Simon
Blargh. Excellent point. I had totally forgotten that. I withdraw all suggested changes except a cross-ref to the section you mention. Sigh. My brain is getting soft.
Actually the rules referenced appear immediately above, so no reference is necessary. My original message was not suggesting a change to the report (though I don't know that I agree with it -- i can see arguments in each direction): I was primarily pointing out an infelicity in GHCs implementation... Out of curiousity, it's a bit strange that
data D = D !Int myD = D {}
in invalid, but
newtype N = N !Int myN = N {}
is not. Not that I'm proposing a change...I just think it's od.. - Hal
participants (2)
-
Hal Daume III -
Simon Peyton-Jones