
Right. That's an option.
On Tue, Aug 23, 2011 at 10:31 PM, Simon Marlow
You could make it a precondition of copyArray#, although that's slightly less pleasant from a user's perspective.
Cheers, Simon
On 23/08/11 21:04, Johan Tibell wrote:
It could well be that it's some later primop that's failing due to the empty size, like my new copyArray# primop. If that's the case I could fix it but I would probably would have to add a branch to the copyArray# primop, which I'm reluctant to do.
On Tue, Aug 23, 2011 at 9:47 PM, Simon Marlow
wrote: An Array# of size zero is a perfectly reasonable thing. If it doesn't work, it should (and I vaguely recall making it work at some point in the past, but perhaps I failed to add a test and as a result it has rotted...)
Cheers, Simon
On 22/08/11 17:08, Johan Tibell wrote:
I agree (unless it has a performance cost). I had to fix a couple of bugs in my code associated with generating zero-length arrays.
On Mon, Aug 22, 2011 at 5:54 PM, Edward Kmett
wrote: It would still be nice to have a consistent base case.
On Mon, Aug 22, 2011 at 3:43 AM, Johan Tibell
wrote: On Mon, Aug 22, 2011 at 5:55 AM, Edward Z. Yang
wrote: > > stg_newArrayzh in rts/PrimOps.cmm doesn't appear to give any > indication, > so this might be a good patch to add. But I'm curious: what would > allocating Array#s of size 0 do? Null pointers? That sounds > dangerous... I would imagine that a zero sized array would be a StgArrPtrs header with its size field set to 0. It's not a very useful thing to have, I admit. If someone (Simon?) can confirm that we don't intend to support zero-length array I'll push a patch that adds a comment.
Johan
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users