Re: Access to Word8Array.arrayUninit

Matthew Fluet <[email protected]> Wed, 16 Nov 2016 10:10:43 -0500
Newsgroups gmane.comp.lang.ml.mlton.user
Message-ID <CAMrhFL4ktkPE1GYvZ_KunZjTZj76Z5gWUhwmvEs_jva9F47MqA@mail.gmail.com>
Anything outside of the `$(SML_LIB)/basis/*.mlb` files should be
considered private implementation details of the Basis Library
implementation.  They are subject to change in backwards incompatible
ways.

I suppose that we could add "Unsafe.Word8Vector.fromArray", though it
is a little more unsafe than the other functions.  Creating an
uninitialized monomorphic array of numeric type just means that you
get random bits, but for numeric types, any random bits are valid
values of the element type.  But, the array to vector conversion is
implemented as a simple pointer copy and update to the header of the
object and the compiler relies upon the fact that the code retains no
references to the array; we ensure that in the Basis Library
implementation, but it wouldn't be checked for user code.

On Tue, Nov 15, 2016 at 12:44 PM, Kostirya <[email protected]> wrote:
> I found:
> $(SML_LIB)/basis/build/sources.mlb must be the last in MLB file.
> :-)
>
> 2016-11-15 9:39 GMT+02:00 Kostirya <[email protected]>:
>> Now I am curious how Socket structure have access to
>> Word8Vector.unsafeFromArray and Word8Array.arrayUninit.
>> What MLB file is responsible for this?
>> It is a mystery to me...
>>
>> 2016-11-14 19:23 GMT+02:00 Matthew Fluet <[email protected]>:
>>> You can use "$(SML_LIB)/basis/unsafe.mlb" to access the Unsafe
>>> structure: http://mlton.org/UnsafeStructure.  You should be able to
>>> use "Unsafe.Word8Array.create" to create an uninitialized array.
>>>
>>>
>>> On Mon, Nov 14, 2016 at 4:13 AM, Kostirya <[email protected]> wrote:
>>>> Hello.
>>>> I use now Primitive.Array.arrayUnsafe for FFI:
>>>>
>>>>   val arrayUnsafe = Primitive.Array.arrayUnsafe                  (* 32bit OS *)
>>>>   val arrayUnsafe = Primitive.Array.arrayUnsafe o Int64.fromInt  (* 64bit OS *)
>>>>
>>>> To have one version code for 32bit both 64bit OS I want to use
>>>> Word8Array.arrayUninit instead Primitive.Array.arrayUnsafe.
>>>>
>>>> But I can not access Word8Array.arrayUninit.
>>>> Please, tell me which mlb file I must plug.
>>>>
>>>> Nick.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "MLton-user" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Developer Access Program for Intel Xeon Phi Processors
>>>> Access to Intel Xeon Phi processor-based developer platforms.
>>>> With one year of Intel Parallel Studio XE.
>>>> Training and support from Colfax.
>>>> Order your platform today. http://sdm.link/xeonphi
>>>> _______________________________________________
>>>> MLton-user mailing list
>>>> [email protected]; [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/mlton-user
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "MLton-user" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> MLton-user mailing list
>>> [email protected]; [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/mlton-user
>
> --
> You received this message because you are subscribed to the Google Groups "MLton-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> MLton-user mailing list
> [email protected]; [email protected]
> https://lists.sourceforge.net/lists/listinfo/mlton-user

-- 
You received this message because you are subscribed to the Google Groups "MLton-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].


------------------------------------------------------------------------------