seq does not preclude parametricity (Re: [Haskell-cafe] IO is not a monad)

Janis Voigtlaender voigt at tcs.inf.tu-dresden.de
Wed Jan 24 04:30:51 EST 2007


Janis Voigtlaender wrote:
> Janis Voigtlaender wrote:
> 
>> Lennart Augustsson wrote:
>>
>>> There is a good reason seq cannot be defined for functions in
>>> the pure lambda calculus...  It doesn't belong there. :)
>>
>>
>>
>> How about the same argument for general recursion? As in: There is a
>> good reason (typability) that fixpoint combinators cannot be defined in
>> the pure lambda calculus... They don't belong there.
> 
> 
> Maybe by "pure lambda calculus" you meant the untyped one. Then my
> comparative argument does not work anymore, because fixpoints are
> definable in the untyped setting, whereas seq isn't. Still, it remains
> questionable whether this provides an argument for removing seq but
> retaining fixpoints in Haskell. Why is the untyped setting the point of
> reference?
> 
> In any case, the argument via losing parametricity does not hold. It is
> not necessary to sacrifice seq to get parametricity back. Not any more
> than it was necessary to sacrifice seq to get parametricity back.

Replace "seq" by "fix" in the last sentence ;-)

-- 
Dr. Janis Voigtlaender
http://wwwtcs.inf.tu-dresden.de/~voigt/
mailto:voigt at tcs.inf.tu-dresden.de


More information about the Haskell-Cafe mailing list