@@ -1,5 +1,6 @@
11{-# LANGUAGE AllowAmbiguousTypes #-}
22{-# LANGUAGE DataKinds #-}
3+{-# LANGUAGE DeriveDataTypeable #-}
34{-# LANGUAGE DeriveGeneric #-}
45{-# LANGUAGE KindSignatures #-}
56{-# LANGUAGE ScopedTypeVariables #-}
@@ -11,9 +12,9 @@ module Data.Money.Internal ( Money(..)
1112 , (/%)
1213 ) where
1314
15+import Data.Data
1416import Data.Fixed (Centi)
1517import Data.Group
16−import Data.Proxy
1718import GHC.Generics
1819import GHC.TypeLits
1920import GHC.Stack (HasCallStack)
@@ -22,7 +23,7 @@ import GHC.Stack (HasCallStack)
2223-- The type parameter is phantom, you probably want to use 'Currency' there.
2324-- See also 'Data.Money.Currencies' for currency types.
2425newtype Money curr = Money { getAmount :: Centi }
25− deriving (Eq, Ord, Generic)
26+ deriving (Eq, Ord, Generic, Data)
2627
2728-- | Empty type, used only to carry its type parameter with a currency code around. E.g. 'Currency "USD"', 'Currency "GBP"', et cetera.
2829-- See Data.Money.Currencies for pre-defined currency types.