[Haskell-cafe] ByteString FFI
Donn Cave
donn at drizzle.com
Sun Nov 12 13:49:28 EST 2006
How do people like to set up their foreign I/O functions to return
ByteStrings? I was a little stumped over this yesterday evening,
while trying to write ` recv :: Socket -> Int -> Int -> ByteString '
Doc says `Byte vectors are encoded as strict Word8 arrays of bytes,
held in a ForeignPtr, and can be passed between C and Haskell with
little effort.' Which sounds perfect - I'm always up for `little effort'!
CString doesn't seem like the right thing for socket results, because
the data shouldn't be NUL-terminated, and I might want to realloc when
the returned data doesn't fill the buffer. I don't see any other
Ptr-related function or constructor in the documentation - am I missing
something there?
Thanks,
Donn Cave, donn at drizzle.com
More information about the Haskell-Cafe
mailing list