
24 Mar
2007
24 Mar
'07
8:28 p.m.
hi! i've just discovered this strange behaviour of existential quantifiers with runST: --- Prelude Control.Monad.ST> :t runST (return ()) runST (return ()) :: () Prelude Control.Monad.ST> :t runST $ (return ()) <interactive>:1:9: Couldn't match expected type `forall s. ST s a' against inferred type `m ()' In the second argument of `($)', namely `(return ())' Prelude Control.Monad.ST> --- the same with "id runST undefined". is this a bug or an unsolved problem? i'm not sure wheather it is a part of the wanted feature of runST's type definition. i did not find any discussions about this. can anyone enlighten me, please? - marc