jmaessen at alum.mit.edu
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.
> -- Lennart
> Simon Peyton-Jones wrote:
>> | Well, my worry was partly about the suggested version of deepSeq
>> | 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
>> as if it was infinite. Idempotence changes the operational
>> 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 haskell.org
More information about the Haskell-prime