
3 Apr
2013
3 Apr
'13
7:28 p.m.
On 04/03/2013 02:06 PM, Gabor Greif wrote:
Now that Constraint kinds are pretty much into the mainstream, can we consider the '!' annotation in data declarations as a magic constraint? Not unlike NFData, but only ensuring that said value is in WHNF.
So the following definitions would be semantically identical
newtype Foo a = Foo a
data Foo a = Foo !a [...]
These two are not identical because f (Foo _) = 3 forces the value if it's 'data' but not if it's 'newtype'. That's irrelevant to your interesting proposal, however. -Isaac