WordPtr,IntPtr,IntMax,WordMax

Manuel M T Chakravarty chak at cse.unsw.edu.au
Sat Apr 29 16:05:07 EDT 2006


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?

Manuel




More information about the Glasgow-haskell-users mailing list