buffer-builder-0.2.0.0: bench/TinyJson.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE MagicHash #-}
module Main where
import Data.Text
import Data.BufferBuilder.Json
import qualified Data.ByteString.Char8 as BSC8
data TinyRecord = TR
{ name :: !Text
, number :: !Int
}
instance ToJson TinyRecord where
toJson !TR{..} = toJson $
"name" .= (9::Int)
-- <> "number" .= number
a :: TinyRecord
a = TR "Bob" 9
main :: IO ()
main = do
let !b = encodeJson a
putStrLn $ BSC8.unpack b