[Haskell-cafe] broken IO support in uvector package, when using non primitive types

Manlio Perillo manlio_perillo at libero.it
Fri Mar 13 19:15:45 EDT 2009

Don Stewart ha scritto:
> [...]
>> So, the patch is: "just revert this change".
> Or... use your own UIO instance. That's why it's a type class!

Why should I rewrite the UIO instance, if one already exists?

> Anyway, for the background on this:
>     Tue Nov 18 08:44:46 PST 2008 Malcolm Wallace
>       * Use hFileSize to determine arraysize, rather than encoding it in the
>       file.
>     "Here is a patch to the uvector library that fixes hGetBU and hPutBU to
>     use the filesize to determine arraysize, rather than encoding it within
>     the file.  I guess the disadvantages are that now only one array can
>     live in a file, and the given Handle must indeed be a file, not a socket
>     Handle.  But the advantage is that one can read packed raw datafiles
>     obtained externally."
> Still, again, I'd point out that uvector is alpha, APIs can and will
> change. 

Ok, with API changes.
But they *should not* break normal package usage.

That patch simply introduced a bug in uvector.
If you think that the patch is useful, then the patch should also 
include a modification to the UIO instance for a:*:b.

Regards  Manlio

More information about the Haskell-Cafe mailing list