2007-06-06 [長年日記]

[Haskell] ST

f :: a -> forall s. ST s a
f x = do s <- newSTRef x
         readSTRef s

g = runST (f 1)

はOKだけれど、

g = runST $ f 1

はエラーになるというのに気づかずに長いことはまってしまいました…どうしてそうなるのかはなんとなく分かるのですが、所詮なんとなく。

[]