The latest version of binary-file is 0.15.25-0.

binary-file

Version 0.13.1 revision 0 uploaded by YoshikuniJujo.

Package meta

Synopsis
read/write binary file
Description
runghc -XQuasiQuotes -XTypeFamilies -XFlexibleInstances exam.hs some.bmp

exam.hs:

 import File.Binary
 import File.Binary.Data.LittleEndian
 import System.Environment
 import Data.ByteString.Lazy as BSL

 main = do
	[inf] <- getArgs
   cnt <- BS.readFile inf
	let (bmp, rest) = fromBinary () cnt :: (Bitmap, String)
	print bmp

 instance Field (Int, Int, Int) where
    type FieldArgument (Int, Int, Int) = ()
    fromBinary _ s = let
        (b, rest) = toType 1 s
        (g, rest') = toType 1 rest
        (r, rest'') = toType 1 rest' in
        ((b, g, r), snd $ getBytes 1 1 rest'')
    toBinary _ (b, g, r) = concatBinary [
        fromType 1 b, fromType 1 g, fromType 1 r,
        makeBinary $ BSL.singleton 0]

 [binary|

 Bitmap

 2: "BM"
 4: file_size
 2: 0
 2: 0
 4: offset

 4: 40
 4: width
 4: height
 2: 1
 2: bits_per_pixel
 4: compression
 4: image_size
 4: resolutionH
 4: resolutionV
 4: color_num
 4: important_color_num
 ((), Just color_num)<[(Int, Int, Int)]>: colors
 ((), image_size)<String>: image

 |]
Author
Yoshikuni Jujo <PAF01143@nifty.ne.jp>
Bug reports
n/a
Category
File
Copyright
n/a
Homepage
n/a
Maintainer
Yoshikuni Jujo <PAF01143@nifty.ne.jp>
Package URL
n/a
Stability
experimental

Components