@@ -47,8 +47,9 @@ data S = S !ByteString -- ^ Input
47 !Int -- ^ Bit offset (0-7)
47 !Int -- ^ Bit offset (0-7)
48 deriving (Show)
48 deriving (Show)
50−-- | A block that will be read with only one boundry check.
50+-- | A block that will be read with only one boundry check. Needs to know the
51+-- number of bits in advance.
51−data Block a = Block Int (S -> a)
52+data Block a = Block !Int (S -> a)
53instance Functor Block where
54instance Functor Block where
54 fmap f (Block i p) = Block i (\s -> f (p s))
55 fmap f (Block i p) = Block i (\s -> f (p s))