Thanks a lot. after being offline for three days, it is great to see the amount of answers. I'll have a try. And I realize even more that the world of Haskell is pretty different from my C++/Java world. (Though it reminds me of template meta programming)
Have a nice week, Johan Steunenberg Am Fre, 2002-11-15 um 01.46 schrieb Glynn Clements: > > Johan Steunenberg wrote: > > > thanks for your advice, I guess it sweetens the situation, though I > > really would like to know how to store in a binary format. > > Here's one possibility, using the Storable class: > > import Word > import IOExts > import Foreign.Ptr > import Foreign.Storable > import Foreign.Marshal.Alloc > > toOctets :: Storable a => a -> [Word8] > toOctets x = unsafePerformIO $ do > ptr <- malloc :: Storable a => IO (Ptr a) > poke ptr value > let bptr = castPtr ptr :: Ptr Word8 > bytes <- mapM (peekElemOff bptr) [0 .. sizeOf x - 1] :: IO [Word8] > free ptr > return bytes > > However, this will use the internal format, which will vary between > architectures, so a file written on one architecture may not work on a > different architecture. > _______________________________________________ > Haskell-Cafe mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe