deeqSeq proposal

Jan-Willem Maessen jmaessen at
Wed Apr 12 09:21:10 EDT 2006

On Apr 11, 2006, at 5:37 PM, Lennart Augustsson wrote:

> Yes, I realize than dynamic idempotence is not the same as
> cycle detection.  I still worry. :)
> I think expectance is in the eye of the beholder.  The reason
> that (the pure subset of) pH was a proper implementation of
> Haskell was because we were not over-specifying the semantics
> originally.  I would hate to do that now.

Though, to be fair, an awful lot of Prelude code didn't work in pH  
unless it was re-written to vary slightly from the specification.  So  
the assumption of laziness was more deeply embedded than the spec was  
willing to acknowledge.

-Jan-Willem Maessen

> 	-- Lennart
> Simon Peyton-Jones wrote:
>> | Well, my worry was partly about the suggested version of deepSeq  
>> that
>> | would not diverge on circular structures (since circular structures
>> | are just one way to implement "infinite" data structures).
>> Dynamic idempotence is not the same as detecting circular structures.
>> Deepseqing a circular structure should definitely diverge, as it  
>> would
>> as if it was infinite.  Idempotence changes the operational  
>> behaviour,
>> but not the denotational behaviour.  So that part of the worry is ok.
>> But since the dynamic-idempotence operational behaviour is (as I
>> understand the proposal) the whole point, it's true that the
>> implementation would be constrained.  In the same kind of way that we
>> expect call-by-need rather than call-by-name.  S
> _______________________________________________
> Haskell-prime mailing list
> Haskell-prime at

More information about the Haskell-prime mailing list