Implement `calloc{,Bytes,Array,Array0}` allocators

Austin Seipp austin at well-typed.com
Sun Nov 30 17:00:59 UTC 2014


I'm also +1 for this addition.

On Sun, Nov 30, 2014 at 2:42 AM, Herbert Valerio Riedel <hvr at gnu.org> wrote:
> On 2014-11-29 at 17:05:58 +0100, Oleksandr Petrov wrote:
>> There is a proposal [1] (with implemented revision) to implement
>> zero-initialising
>> versions
>> of malloc{,Bytes,Array,Array0}
>>
>>    - Add calloc and callocBytes to Foreign.Marshal.Alloc.
>>    - Add callocArray and callocArray0 to Foreign.Marshal.Array.
>>
>> The benefit is that you can allocate required amount of memory and be
>> certain that it will be cleared
>> (set with zeroes) before you use it.
>
> +1
>
> (Fwiw, it's not only a convenient combined operation but it also has
> potentially less overhead by requiring only a single FFI-call to
> calloc(3), instead of having to FFI-call twice into libc when doing
> malloc(3)+memset(3))
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>



-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/


More information about the Libraries mailing list