diff --git a/hledger-lib/Hledger/Data/Types.hs b/hledger-lib/Hledger/Data/Types.hs index 7b7f266b4..4d1f63b15 100644 --- a/hledger-lib/Hledger/Data/Types.hs +++ b/hledger-lib/Hledger/Data/Types.hs @@ -28,7 +28,6 @@ module Hledger.Data.Types where import GHC.Generics (Generic) -import Control.DeepSeq (NFData) import Data.Decimal import Data.Default import Data.Functor (($>)) @@ -79,8 +78,6 @@ data DateSpan = DateSpan (Maybe Day) (Maybe Day) deriving (Eq,Ord,Generic) instance Default DateSpan where def = DateSpan Nothing Nothing -instance NFData DateSpan - -- synonyms for various date-related scalars type Year = Integer type Month = Int -- 1-12 @@ -135,8 +132,6 @@ data Interval = instance Default Interval where def = NoInterval -instance NFData Interval - type AccountName = Text data AccountType = @@ -148,8 +143,6 @@ data AccountType = | Cash -- ^ a subtype of Asset - liquid assets to show in cashflow report deriving (Show,Eq,Ord,Generic) -instance NFData AccountType - -- not worth the trouble, letters defined in accountdirectivep for now --instance Read AccountType -- where @@ -164,12 +157,8 @@ data AccountAlias = BasicAlias AccountName AccountName | RegexAlias Regexp Replacement deriving (Eq, Read, Show, Ord, Generic) --- instance NFData AccountAlias - data Side = L | R deriving (Eq,Show,Read,Ord,Generic) -instance NFData Side - -- | The basic numeric type used in amounts. type Quantity = Decimal -- The following is for hledger-web, and requires blaze-markup. @@ -184,8 +173,6 @@ instance ToMarkup Quantity data AmountPrice = UnitPrice Amount | TotalPrice Amount deriving (Eq,Ord,Generic,Show) -instance NFData AmountPrice - -- | Display style for an amount. data AmountStyle = AmountStyle { ascommodityside :: Side, -- ^ does the symbol appear on the left or the right ? @@ -195,8 +182,6 @@ data AmountStyle = AmountStyle { asdigitgroups :: Maybe DigitGroupStyle -- ^ style for displaying digit groups, if any } deriving (Eq,Ord,Read,Generic) -instance NFData AmountStyle - instance Show AmountStyle where show AmountStyle{..} = printf "AmountStylePP \"%s %s %s %s %s..\"" @@ -208,8 +193,6 @@ instance Show AmountStyle where data AmountPrecision = Precision !Word8 | NaturalPrecision deriving (Eq,Ord,Read,Show,Generic) -instance NFData AmountPrecision - -- | A style for displaying digit groups in the integer part of a -- floating point number. It consists of the character used to -- separate groups (comma or period, whichever is not used as decimal @@ -219,8 +202,6 @@ instance NFData AmountPrecision data DigitGroupStyle = DigitGroups Char [Word8] deriving (Eq,Ord,Read,Show,Generic) -instance NFData DigitGroupStyle - type CommoditySymbol = Text data Commodity = Commodity { @@ -228,8 +209,6 @@ data Commodity = Commodity { cformat :: Maybe AmountStyle } deriving (Show,Eq,Generic) --,Ord) -instance NFData Commodity - data Amount = Amount { acommodity :: CommoditySymbol, -- commodity symbol, or special value "AUTO" aquantity :: Quantity, -- numeric quantity, or zero in case of "AUTO" @@ -239,17 +218,11 @@ data Amount = Amount { aprice :: Maybe AmountPrice -- ^ the (fixed, transaction-specific) price for this amount, if any } deriving (Eq,Ord,Generic,Show) -instance NFData Amount - newtype MixedAmount = Mixed [Amount] deriving (Eq,Ord,Generic,Show) -instance NFData MixedAmount - data PostingType = RegularPosting | VirtualPosting | BalancedVirtualPosting deriving (Eq,Show,Generic) -instance NFData PostingType - type TagName = Text type TagValue = Text type Tag = (TagName, TagValue) -- ^ A tag name and (possibly empty) value. @@ -260,8 +233,6 @@ type DateTag = (TagName, Day) data Status = Unmarked | Pending | Cleared deriving (Eq,Ord,Bounded,Enum,Generic) -instance NFData Status - instance Show Status where -- custom show.. bad idea.. don't do it.. show Unmarked = "" show Pending = "!" @@ -311,8 +282,6 @@ data BalanceAssertion = BalanceAssertion { baposition :: GenericSourcePos -- ^ the assertion's file position, for error reporting } deriving (Eq,Generic,Show) -instance NFData BalanceAssertion - data Posting = Posting { pdate :: Maybe Day, -- ^ this posting's date, if different from the transaction's pdate2 :: Maybe Day, -- ^ this posting's secondary date, if different from the transaction's @@ -332,8 +301,6 @@ data Posting = Posting { -- untransformed posting (which will have Nothing in this field). } deriving (Generic) -instance NFData Posting - -- The equality test for postings ignores the parent transaction's -- identity, to avoid recurring ad infinitum. -- XXX could check that it's Just or Nothing. @@ -362,8 +329,6 @@ data GenericSourcePos = GenericSourcePos FilePath Int Int -- ^ file path, 1-b | JournalSourcePos FilePath (Int, Int) -- ^ file path, inclusive range of 1-based line numbers (first, last). deriving (Eq, Read, Show, Ord, Generic) -instance NFData GenericSourcePos - --{-# ANN Transaction "HLint: ignore" #-} -- Ambiguous type variable ‘p0’ arising from an annotation -- prevents the constraint ‘(Data p0)’ from being solved. @@ -382,8 +347,6 @@ data Transaction = Transaction { tpostings :: [Posting] -- ^ this transaction's postings } deriving (Eq,Generic,Show) -instance NFData Transaction - -- | A transaction modifier rule. This has a query which matches postings -- in the journal, and a list of transformations to apply to those -- postings or their transactions. Currently there is one kind of transformation: @@ -394,8 +357,6 @@ data TransactionModifier = TransactionModifier { tmpostingrules :: [TMPostingRule] } deriving (Eq,Generic,Show) -instance NFData TransactionModifier - nulltransactionmodifier = TransactionModifier{ tmquerytxt = "" ,tmpostingrules = [] @@ -433,12 +394,8 @@ nullperiodictransaction = PeriodicTransaction{ ,ptpostings = [] } -instance NFData PeriodicTransaction - data TimeclockCode = SetBalance | SetRequiredHours | In | Out | FinalOut deriving (Eq,Ord,Generic) -instance NFData TimeclockCode - data TimeclockEntry = TimeclockEntry { tlsourcepos :: GenericSourcePos, tlcode :: TimeclockCode, @@ -447,8 +404,6 @@ data TimeclockEntry = TimeclockEntry { tldescription :: Text } deriving (Eq,Ord,Generic) -instance NFData TimeclockEntry - -- | A market price declaration made by the journal format's P directive. -- It declares two things: a historical exchange rate between two commodities, -- and an amount display style for the second commodity. @@ -459,8 +414,6 @@ data PriceDirective = PriceDirective { } deriving (Eq,Ord,Generic,Show) -- Show instance derived in Amount.hs (XXX why ?) -instance NFData PriceDirective - -- | A historical market price (exchange rate) from one commodity to another. -- A more concise form of a PriceDirective, without the amount display info. data MarketPrice = MarketPrice { @@ -471,8 +424,6 @@ data MarketPrice = MarketPrice { } deriving (Eq,Ord,Generic) -- Show instance derived in Amount.hs (XXX why ?) -instance NFData MarketPrice - -- additional valuation-related types in Valuation.hs -- | A Journal, containing transactions and various other things. @@ -512,8 +463,6 @@ data Journal = Journal { } deriving (Eq, Generic) deriving instance Generic ClockTime -instance NFData ClockTime --- instance NFData Journal -- | A journal in the process of being parsed, not yet finalised. -- The data is partial, and list fields are in reverse order. @@ -532,8 +481,6 @@ data AccountDeclarationInfo = AccountDeclarationInfo { -- relative to other account declarations, during parsing (1..) } deriving (Eq,Show,Generic) -instance NFData AccountDeclarationInfo - nullaccountdeclarationinfo = AccountDeclarationInfo { adicomment = "" ,aditags = [] diff --git a/hledger-lib/Hledger/Data/Valuation.hs b/hledger-lib/Hledger/Data/Valuation.hs index 506beeb89..2c2ec534e 100644 --- a/hledger-lib/Hledger/Data/Valuation.hs +++ b/hledger-lib/Hledger/Data/Valuation.hs @@ -28,7 +28,6 @@ module Hledger.Data.Valuation ( where import Control.Applicative ((<|>)) -import Control.DeepSeq (NFData) import Data.Decimal (roundTo) import Data.Function ((&), on) import Data.Graph.Inductive (Gr, Node, NodeMap, mkMapGraph, mkNode, lab, out, sp) @@ -86,8 +85,6 @@ data PriceGraph = PriceGraph { } deriving (Show,Generic) -instance NFData PriceGraph - -- | A price oracle is a magic memoising function that efficiently -- looks up market prices (exchange rates) from one commodity to -- another (or if unspecified, to a default valuation commodity) on a diff --git a/hledger-lib/hledger-lib.cabal b/hledger-lib/hledger-lib.cabal index 0424305c9..281467513 100644 --- a/hledger-lib/hledger-lib.cabal +++ b/hledger-lib/hledger-lib.cabal @@ -1,10 +1,10 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0. +-- This file has been generated from package.yaml by hpack version 0.34.2. -- -- see: https://github.com/sol/hpack -- --- hash: ca2b9f025d75c0b65f91b2e5fe7203d00d1d9f8c423c8c4f0cb7675df848a5aa +-- hash: e8ee8c99329f53fe86ae9df138d05c8c39726a66da2ad1da3ae27500c45b2591 name: hledger-lib version: 1.18.99 @@ -124,7 +124,6 @@ library , cmdargs >=0.10 , containers , data-default >=0.5 - , deepseq , directory , extra >=1.6.3 , fgl >=5.5.4.0 @@ -177,7 +176,6 @@ test-suite doctest , cmdargs >=0.10 , containers , data-default >=0.5 - , deepseq , directory , doctest >=0.16.3 , extra >=1.6.3 @@ -233,7 +231,6 @@ test-suite unittest , cmdargs >=0.10 , containers , data-default >=0.5 - , deepseq , directory , extra >=1.6.3 , fgl >=5.5.4.0 diff --git a/hledger-lib/package.yaml b/hledger-lib/package.yaml index 1353382b8..35c6092e1 100644 --- a/hledger-lib/package.yaml +++ b/hledger-lib/package.yaml @@ -59,7 +59,6 @@ dependencies: - cassava-megaparsec - data-default >=0.5 - Decimal >=0.5.1 -- deepseq - directory - fgl >=5.5.4.0 - file-embed >=0.0.10