From 169f287970a68e52d766b485f9c870ef83916b59 Mon Sep 17 00:00:00 2001 From: tanakh Date: Tue, 7 Sep 2010 16:14:29 +0900 Subject: haskell: Now, Object is an instance of NFData. --- haskell/src/Data/MessagePack/Object.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'haskell/src/Data/MessagePack/Object.hs') diff --git a/haskell/src/Data/MessagePack/Object.hs b/haskell/src/Data/MessagePack/Object.hs index df0e89d..6806722 100644 --- a/haskell/src/Data/MessagePack/Object.hs +++ b/haskell/src/Data/MessagePack/Object.hs @@ -25,6 +25,7 @@ module Data.MessagePack.Object( Result, ) where +import Control.DeepSeq import Control.Monad import Control.Monad.Trans.Error () import qualified Data.ByteString as B @@ -41,6 +42,17 @@ data Object = | ObjectMap [(Object, Object)] deriving (Show) +instance NFData Object where + rnf obj = + case obj of + ObjectNil -> () + ObjectBool b -> rnf b + ObjectInteger n -> rnf n + ObjectDouble d -> rnf d + ObjectRAW bs -> bs `seq` () + ObjectArray a -> rnf a + ObjectMap m -> rnf m + -- | The class of types serializable to and from MessagePack object class OBJECT a where -- | Encode a value to MessagePack object -- cgit v1.2.1