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
[email protected]
http://haskell.org/mailman/listinfo/haskell-prime
_______________________________________________
Haskell-prime mailing list
[email protected]
http://haskell.org/mailman/listinfo/haskell-prime