seq as type class method
Henning Thielemann
lemming at henning-thielemann.de
Thu Nov 5 18:24:46 EST 2009
On Fri, 6 Nov 2009, Stefan Holdermans wrote:
> Henning,
>
>> I have read in the History of Haskell, that originally 'seq' should be a
>> method of a type class, that can be automatically derived by a 'deriving'
>> clause. It was also mentioned that this clean solution was dropped because
>> of particular experiences with developing a parser. However the arguments
>> appeared to me, like these were problems of debugging.
>
> If I understood it correctly, the problem was more general than just
> debugging. Every introduction of seq in a function could result in the
> requirement to also adapt the type signatures of calling functions.
Sure, but why was this a problem? Because they had to re-arrange a lot,
and had to change the signature each time. But once that re-arrangement
settles, it would be nice to have the Seq type constraint, right?
> What wasn't understood by then is that making a seq a type-class method is
> not enough to recover parametricity, which was the goal. This is explained in
> a recent paper by Daniel Seidel and Janis Voigtlaender:
>
> Daniel Seidel and Janis Voigtlaender. Taming selective strictness.
I'll have a look into it. Thanks for the hint!
More information about the Libraries
mailing list