Jan Brosius wrote:
> I have read the online postscript paper " Lazy Functional State Threads".
> I think the typing (page 4)
>
> f :: MutVar s a -> Mutvar s a
>
> is wrong, since the definition of f is :
>
> f v = runST ( newVar v 'thenST' \w ->
> readVar w)
>
I think you mean page 10...
The typing given for f is an instance of the more general typing you gave. The intent
was to show that the s-types were not special in any way, and that state threads could
manipulate state structures belonging to other threads. There are less contrived
examples which are not mere instances of more general polytypes.
John