deeqSeq proposal
Simon Marlow
simonmar at microsoft.com
Tue Apr 4 06:47:16 EDT 2006
On 30 March 2006 23:12, Andy Gill wrote:
> Implementation:
>
> deepSeq (RAW_CONS <is_deep_seq'd_bit> ... fields ) =
> if <is_deep_seq'd_bit> == True
> then return /* hey, we've already deepSeq'd this */
> else set <is_deep_seq'd_bit> to True.
> deepSeq (field_1)
> ...
> deepSeq (field_n)
> deepSEQ (REF/MVAR...) = return
So deepSeq doesn't return _|_ when passed a cyclic structure? This is a
bad idea, because it lets you distinguish cyclic structures from
infinite ones. deepSeq has to behave like a function, regardless of its
implementation.
Cheers,
Simon
More information about the Haskell-prime
mailing list