lennart at augustsson.net
Tue Apr 11 17:37:50 EDT 2006
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.
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.
More information about the Haskell-prime