From 11d1d70e8b14332f70b2e6991e5c37d5d9c8d1a9 Mon Sep 17 00:00:00 2001 From: Denis Tereshkin Date: Tue, 31 Jan 2017 19:28:38 +0700 Subject: [PATCH] Generic instances for Tick and DataType --- src/ATrade/Types.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ATrade/Types.hs b/src/ATrade/Types.hs index 8e71a69..596469d 100644 --- a/src/ATrade/Types.hs +++ b/src/ATrade/Types.hs @@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings, TypeSynonymInstances, FlexibleInstances #-} +{-# LANGUAGE DeriveGeneric #-} module ATrade.Types ( TickerId, @@ -23,6 +24,8 @@ module ATrade.Types ( defaultClientSecurityParams ) where +import GHC.Generics + import Control.Monad import Data.Aeson import Data.Aeson.Types @@ -55,7 +58,7 @@ data DataType = Unknown | Volatility | TotalSupply | TotalDemand - deriving (Show, Eq, Ord) + deriving (Show, Eq, Ord, Generic) instance Enum DataType where fromEnum x @@ -89,7 +92,7 @@ data Tick = Tick { timestamp :: !UTCTime, value :: !Decimal, volume :: !Integer -} deriving (Show, Eq) +} deriving (Show, Eq, Generic) serializeTickHeader :: Tick -> ByteString serializeTickHeader tick = B.fromStrict . E.encodeUtf8 $ security tick