
On Mon, Feb 23, 2009 at 10:12 AM, Henning Thielemann
Is still someone on haskell.org ?
Sorry, I don't know :).
I want to have an advancePtr on ForeignPtr in order create a subarray. Is this reasonable and possible?
I don't think so. For example, http://www.haskell.org/ghc/docs/latest/html/libraries/bytestring/Data-ByteSt... explicitly list the offset.
Do I have to use 'touchForeignPtr' as finalizer of the subarray's ForeignPtr in order to assert that the superarray lives at least as long as the subarray?
This may work, but seems like a fragile hack. Why not data SubArray a = SA {-# UNPACK #-} !(ForeignPtr a) {-# UNPACK #-} !Int withSubArray :: SubArray a -> (Ptr a -> IO b) -> IO b withSubArray (SA fptr offset) act = withForeignPtr fptr $ \ptr -> act (ptr `plusPtr` offset) ? HTH, -- Felipe.