What are the preconditions of newArray#

Johan Tibell johan.tibell at gmail.com
Tue Aug 23 22:38:42 CEST 2011


Right. That's an option.

On Tue, Aug 23, 2011 at 10:31 PM, Simon Marlow <marlowsd at gmail.com> wrote:
> 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<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