Am 01.02.11 12:34, schrieb Daniel Fischer: > On Tuesday 01 February 2011 11:45:58, Julian Bean wrote: >>> It indeed does, even though I doubted it at first. As far as I >>> remember the type in >>> >>> getnArrayST n bs :: ST s (Maybe (UArray Int Word8, [Word8])) = >>> >>> used to be necessary to bind the type variable s. Apparently things >>> have become easier. >> >> The higher-rank inference has been changed quite a bit, but I think >> -XPatternSignatures is all you were missing to get your original code to >> compiler (well, at least to parse). > > No, I tried, the parser still choked on the above signature.
It seems that -XPatternSignatures is an old option replaced by -XScopedTypeVariables. By the way, it turned out that I had already adapted the library to a newer version of ghc some time ago and only not found the source file because I had also changed its name. In the new version I removed some probably misguided optimisation and replaced the above code by the following ;) getnArray :: Int -> [Word8] -> Maybe (UArray Int Word8, [Word8]) getnArray n bs | length (take n bs) == n = seq a (Just (a, bs'')) where (bs', bs'') = (take n bs, drop n bs) a = listArray (0,n-1) bs' getnArray _ _ = Nothing So I am sorry that my question was unnecessary, but I am still glad that I have learned that less work is now necessary to have the original code type-check. Thanks to both of you, Carsten _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users