[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