
1 Aug
2010
1 Aug
'10
10:52 a.m.
On Sun, Aug 1, 2010 at 11:29 AM, Nicolas Pouillard
Finally maybe we can simply forbidden the forcing of function (as we do with Eq). The few cases where it does matter will rescue to unsafeSeqFunction.
What's the problem with class Eval a where seq :: a -> t -> t instance Eval b => Eval (a -> b) where seq f = seq (f undefined) It would reduce at least to WHNF as unsafeSeq would. Does it compute more than WHNF? Hmmm, I see, if we had f :: Int -> Int f _ = undefined Then my seq above would diverge while unsafeSeq wouldn't. Perhaps that instance would be a good compromise if we insist in not using 'unsafeSeq' to define it. Cheers, =) -- Felipe.