[Haskell-cafe] How can I pass IOUArrays to FFI functions?

Ryan Ingram ryani.spam at gmail.com
Mon Aug 20 08:27:04 EDT 2007


I have a C function of type
   void f ( HsWord32* p0, HsWord32* p1, HsWord32 size );

along with the FFI declaration:
   foreign import ccall unsafe f :: Ptr Word32 -> Ptr Word32 -> Word32 -> IO
()

In my Haskell code I have an unboxed IO array of Word32; IOUArray Int
Word32.
I want to pass the pointer to this array to f().  How can I get the pointer
out of the array?  Or, is there a better way to declare f() to do this?

I'm open to using GHC hackery; using v6.6.1 right now.

  -- ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070820/a84152b3/attachment.htm


More information about the Haskell-Cafe mailing list