[bitc-dev] deeply immutable functions and Haskell's ST
ru at river.org
Thu Aug 25 16:06:48 EDT 2005
Jonathan S. Shapiro writes:
>I need to digest your discussion when I am slightly more awake,
I am pleased and honored to have your attention. It not
completely impossible that I am not seeing some crucial detail that
will emerge when I try to apply the technique to an actual
programming example, so you might want to wait a few days.
> I'm having trouble understanding the example
>because I don't know enough about Haskell to understand what readIORef
>and readSTRef do.
Oh, that's an easy one: they do just what ML's ! operator does,
though they have a different type because if they had !'s type it
would break Haskell's referential-transparency property (such as
and the distinction between readIORef and readSTRef is unimportant
for the purposes of this conversation.
Now in the following two excerpts from my first post there is a
mistake that might throw you off track:
> (deftypeclass (Eql 'a)
> == : (fn ('a 'a) bool))
> The 'a is
>still considered a pure type.
I should have writ,
>The (fn ('a 'a) bool) is still considered a pure type
(even though the definition of this instance of it mutates local
More information about the bitc-dev