On Mon, Feb 23, 2009 at 10:12 AM, Henning Thielemann <lemm...@henning-thielemann.de> wrote: > 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-ByteString-Internal.html#t%3AByteString 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. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe