WordPtr,IntPtr,IntMax,WordMax

Aaron Denney wnoise at ofb.net
Mon May 1 23:29:16 EDT 2006


On 2006-04-29, Manuel M T Chakravarty <chak at cse.unsw.edu.au> wrote:
> Am Donnerstag, den 06.04.2006, 16:37 -0700 schrieb John Meacham:
>> On Thu, Apr 06, 2006 at 04:28:01PM -0700, John Meacham wrote:
>> > I was curious if ghc could support the following basic types, they will
>> > likely just be aliases of existing types.
>> > 
>> > WordPtr uintptr_t
>> > WordMax uintmax_t
>> > IntPtr  intptr_t
>> > IntMax  intmax_t
>> > 
>> > all these C types are defined by ISO C so should be available,
>> > otherwise, they are easy enough to generate in ghcs autoconf script.
>> > 
>> > jhc provides these under these names in Data.Word and Data.Int.
>> > they would be useful for writing jhc/ghc portable low level code, and
>> > writing 32/64 bit safe code.
>> 
>> oh, I forgot the all important conversion routines,
>> 
>> ptrToWordPtr :: Ptr a -> WordPtr
>> wordPtrToPtr :: WordPtr -> Ptr a
>> 
>> ptrToIntPtr :: Ptr a -> IntPtr
>> intPtrToPtr :: IntPtr -> Ptr a
>> 
>> jhc makes these available in Jhc.Addr, but if ghc decides to provide
>> them in a common spot (Foreign.Ptr maybe?)
>> 
>> then I will have jhc follow suit.
>> 
>> I'd also propose these be added to the FFI standard.
>
> I collect additions to the FFI on the Haskell' wiki:
>
>   http://hackage.haskell.org/trac/haskell-prime/wiki/ForeignFunctionInterface
>
> I added a note about these types.  Any other ISO C types that we should
> include?

complex <foo>.

-- 
Aaron Denney
-><-



More information about the Glasgow-haskell-users mailing list