
13 Mar
2009
13 Mar
'09
6:27 p.m.
As far as I know, the reason for this is that the UIO instance for productions writes the two "rows" out sequentially to file, but doesn't include any means to determine the length of the two halves when it's loading up again. When you try to read the production back in, it tries to read in two arrays, but the first array read consumes all the input leaving the second with nothing.
Ok, thanks.
For now, I think that the simple solution is to not use UArr (a:*:b), but (UArr a, UArr b).
Just newtype your own UIO instance, if you need a different instance... -- Don