import Prelude hiding (length, concat)
-import Control.Applicative ((<*))
import Data.ByteString (ByteString, length, concat)
import Data.ByteString.Char8 (unpack, pack)
-import Data.Functor ((<$>))
import Data.Map.Strict (Map, fromList, toList)
import Text.ParserCombinators.Parsec
import qualified Text.Parsec.ByteString as ParsecBS
, Bstr <$> arbitrary]
bval n = oneof [ Bint <$> arbitrary
, Bstr <$> arbitrary
- , Blist <$> vectorOf n arbitrary
+ , Blist <$> vectorOf n (bval (n `div` 4))
, do keys <- vectorOf n arbitrary
- vals <- vectorOf n arbitrary
+ vals <- vectorOf n (bval (n `div` 4))
return $ Bdict $ fromList $ zip keys vals ]
-- getters