Neil Mitchell wrote:
As for beginner issues with rank-2 types, I've been learning Haskell
for years now, and have never felt the need for a rank-2 type. If the
interface for some feature requires rank-2 types I'd call that an
abstraction leak in most cases. It certainly means that you can't
Yitzchak Gale wrote:
Well, it turns out that using Data.Sequence or Data.IntMap
to shuffle a list becomes prohibitive if you might have
more than about 10^5 elements in your list. So in that
case you will need to use a mutable array, and you now
need ST.
[..]
Wouldn't it be nice if instead
The plot thickens...
It seems that I can't even use STRefs.
Something is really wrong here.
Prelude Control.Monad.ST Data.STRef runST $ do {r-newSTRef 2; readSTRef r}
interactive:1:8:
Couldn't match expected type `forall s. ST s a'
against inferred type `a1 b'
In the second
On 01/01/07, Yitzchak Gale [EMAIL PROTECTED] wrote:
It seems that I can't even use STRefs.
Something is really wrong here.
Prelude Control.Monad.ST Data.STRef runST $ do {r-newSTRef 2; readSTRef r}
Again, this is due to section 7.4.8 [1] of the GHC user manual, which
states that you can't