@@ -1,5 +1,6 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4{-# LANGUAGE Rank2Types #-}
5{-# LANGUAGE Rank2Types #-}
5#if __GLASGOW_HASKELL__ >= 800
6#if __GLASGOW_HASKELL__ >= 800
@@ -92,6 +93,7 @@ import Data.Time (UTCTime)
92import Data.Time.Format (FormatTime)
93import Data.Time.Format (FormatTime)
93import Data.Typeable (Typeable)
94import Data.Typeable (Typeable)
94import Data.Vector (Vector)
95import Data.Vector (Vector)
96+import GHC.Generics (Generic)
95import qualified Control.Monad.Fail as Fail
97import qualified Control.Monad.Fail as Fail
96import qualified Data.HashMap.Strict as H
98import qualified Data.HashMap.Strict as H
97import qualified Data.Scientific as S
99import qualified Data.Scientific as S
@@ -342,7 +344,7 @@ data Value = Object !Object
342 | Number !Scientific
344 | Number !Scientific
343 | Bool !Bool
345 | Bool !Bool
345− deriving (Eq, Read, Show, Typeable, Data)
347+ deriving (Eq, Read, Show, Typeable, Data, Generic)
347-- | A newtype wrapper for 'UTCTime' that uses the same non-standard
349-- | A newtype wrapper for 'UTCTime' that uses the same non-standard
348-- serialization format as Microsoft .NET, whose
350-- serialization format as Microsoft .NET, whose