What are the preconditions of newArray#

Johan Tibell johan.tibell at gmail.com
Tue Aug 23 22:04:57 CEST 2011


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 <marlowsd at gmail.com> 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<ekmett at gmail.com>  wrote:
>>>
>>> It would still be nice to have a consistent base case.
>>>
>>> On Mon, Aug 22, 2011 at 3:43 AM, Johan Tibell<johan.tibell at gmail.com>
>>> wrote:
>>>>
>>>> On Mon, Aug 22, 2011 at 5:55 AM, Edward Z. Yang<ezyang at mit.edu>  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 at haskell.org
>>>> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>>>
>>>
>
>



More information about the Glasgow-haskell-users mailing list