hledger-lib-1.12: Core data types, parsers and functionality for the hledger accounting tools

Safe Haskell | None
Language | Haskell2010

Hledger.Data.Types

Contents

- Orphan instances

Description

Most data types are defined here to avoid import cycles. Here is an overview of the hledger data model:

    Journal                  -- a journal is read from one or more data files. It contains..
     [Transaction]           -- journal transactions (aka entries), which have date, cleared status, code, description and..
      [Posting]              -- multiple account postings, which have account name and amount
     [MarketPrice]           -- historical market prices for commodities

    Ledger                   -- a ledger is derived from a journal, by applying a filter specification and doing some further processing. It contains..
     Journal                 -- a filtered copy of the original journal, containing only the transactions and postings we are interested in
     [Account]               -- all accounts, in tree order beginning with a "root" account", with their balances and sub/parent accounts

For more detailed documentation on each type, see the corresponding modules.

Synopsis

- type SmartDate = (String, String, String)
- data WhichDate
  - = PrimaryDate
  - | SecondaryDate
- data DateSpan = DateSpan (Maybe Day) (Maybe Day)
- type Year = Integer
- type Month = Int
- type Quarter = Int
- type YearWeek = Int
- type MonthWeek = Int
- type YearDay = Int
- type MonthDay = Int
- type WeekDay = Int
- data Period
  - = DayPeriod Day
  - | WeekPeriod Day
  - | MonthPeriod Year Month
  - | QuarterPeriod Year Quarter
  - | YearPeriod Year
  - | PeriodBetween Day Day
  - | PeriodFrom Day
  - | PeriodTo Day
  - | PeriodAll
- data Interval
  - = NoInterval
  - | Days Int
  - | Weeks Int
  - | Months Int
  - | Quarters Int
  - | Years Int
  - | DayOfMonth Int
  - | WeekdayOfMonth Int Int
  - | DayOfWeek Int
  - | DayOfYear Int Int
- type AccountName = Text
- data AccountType
  - = Asset
  - | Liability
  - | Equity
  - | Revenue
  - | Expense
- data AccountAlias
  - = BasicAlias AccountName AccountName
  - | RegexAlias Regexp Replacement
- data Side
  - = L
  - | R
- type Quantity = Decimal
- data Price
  - = NoPrice
  - | UnitPrice Amount
  - | TotalPrice Amount
- data AmountStyle = AmountStyle {
  - ascommodityside :: Side
  - ascommodityspaced :: Bool
  - asprecision :: !Int
  - asdecimalpoint :: Maybe Char
  - asdigitgroups :: Maybe DigitGroupStyle
  }
- data DigitGroupStyle = DigitGroups Char [Int]
- type CommoditySymbol = Text
- data Commodity = Commodity {
  - csymbol :: CommoditySymbol
  - cformat :: Maybe AmountStyle
  }
- data Amount = Amount {
  - acommodity :: CommoditySymbol
  - aquantity :: Quantity
  - aprice :: Price
  - astyle :: AmountStyle
  - amultiplier :: Bool
  }
- newtype MixedAmount = Mixed [Amount]
- data PostingType
  - = RegularPosting
  - | VirtualPosting
  - | BalancedVirtualPosting
- type TagName = Text
- type TagValue = Text
- type Tag = (TagName, TagValue)
- type DateTag = (TagName, Day)
- data Status
  - = Unmarked
  - | Pending
  - | Cleared
- data BalanceAssertion = BalanceAssertion {
  - baamount :: Amount
  - baexact :: Bool
  - baposition :: GenericSourcePos
  }
- data Posting = Posting {
  - pdate :: Maybe Day
  - pdate2 :: Maybe Day
  - pstatus :: Status
  - paccount :: AccountName
  - pamount :: MixedAmount
  - pcomment :: Text
  - ptype :: PostingType
  - ptags :: [Tag]
  - pbalanceassertion :: Maybe BalanceAssertion
  - ptransaction :: Maybe Transaction
  - porigin :: Maybe Posting
  }
- data GenericSourcePos
  - = GenericSourcePos FilePath Int Int
  - | JournalSourcePos FilePath (Int, Int)
- data Transaction = Transaction {
  - tindex :: Integer
  - tsourcepos :: GenericSourcePos
  - tdate :: Day
  - tdate2 :: Maybe Day
  - tstatus :: Status
  - tcode :: Text
  - tdescription :: Text
  - tcomment :: Text
  - ttags :: [Tag]
  - tpostings :: [Posting]
  - tpreceding_comment_lines :: Text
  }
- data TransactionModifier = TransactionModifier {
  - tmquerytxt :: Text
  - tmpostingrules :: [TMPostingRule]
  }
- nulltransactionmodifier :: TransactionModifier
- type TMPostingRule = Posting
- data PeriodicTransaction = PeriodicTransaction {
  - ptperiodexpr :: Text
  - ptinterval :: Interval
  - ptspan :: DateSpan
  - ptstatus :: Status
  - ptcode :: Text
  - ptdescription :: Text
  - ptcomment :: Text
  - pttags :: [Tag]
  - ptpostings :: [Posting]
  }
- nullperiodictransaction :: PeriodicTransaction
- data TimeclockCode
  - = SetBalance
  - | SetRequiredHours
  - | In
  - | Out
  - | FinalOut
- data TimeclockEntry = TimeclockEntry {
  - tlsourcepos :: GenericSourcePos
  - tlcode :: TimeclockCode
  - tldatetime :: LocalTime
  - tlaccount :: AccountName
  - tldescription :: Text
  }
- data MarketPrice = MarketPrice {
  - mpdate :: Day
  - mpcommodity :: CommoditySymbol
  - mpamount :: Amount
  }
- data Journal = Journal {
  - jparsedefaultyear :: Maybe Year
  - jparsedefaultcommodity :: Maybe (CommoditySymbol, AmountStyle)
  - jparseparentaccounts :: [AccountName]
  - jparsealiases :: [AccountAlias]
  - jparsetimeclockentries :: [TimeclockEntry]
  - jincludefilestack :: [FilePath]
  - jdeclaredaccounts :: [AccountName]
  - jdeclaredaccounttypes :: Map AccountType [AccountName]
  - jcommodities :: Map CommoditySymbol Commodity
  - jinferredcommodities :: Map CommoditySymbol AmountStyle
  - jmarketprices :: [MarketPrice]
  - jtxnmodifiers :: [TransactionModifier]
  - jperiodictxns :: [PeriodicTransaction]
  - jtxns :: [Transaction]
  - jfinalcommentlines :: Text
  - jfiles :: [(FilePath, Text)]
  - jlastreadtime :: ClockTime
  }
- type ParsedJournal = Journal
- type StorageFormat = String
- data Account = Account {
  - aname :: AccountName
  - adeclarationorder :: Maybe Int
  - aebalance :: MixedAmount
  - asubs :: [Account]
  - anumpostings :: Int
  - aibalance :: MixedAmount
  - aparent :: Maybe Account
  - aboring :: Bool
  }
- data NormalSign
  - = NormallyPositive
  - | NormallyNegative
- data Ledger = Ledger {
  - ljournal :: Journal
  - laccounts :: [Account]
  }

# Documentation

type SmartDate = (String, String, String) Source #

A possibly incomplete date, whose missing parts will be filled from a reference date. A numeric year, month, and day of month, or the empty string for any of these. See the smartdate parser.

data WhichDate Source #

Constructors

PrimaryDate |
SecondaryDate |

Instances

Eq WhichDate Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: WhichDate -> WhichDate -> Bool Source # (/=) :: WhichDate -> WhichDate -> Bool Source #
Show WhichDate Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> WhichDate -> ShowS Source # show :: WhichDate -> String Source # showList :: [WhichDate] -> ShowS Source #

data DateSpan Source #

Constructors

DateSpan (Maybe Day) (Maybe Day) |

Instances

Eq DateSpan Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: DateSpan -> DateSpan -> Bool Source # (/=) :: DateSpan -> DateSpan -> Bool Source #
Data DateSpan Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DateSpan -> c DateSpan Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DateSpan Source #

toConstr :: DateSpan -> Constr Source #

dataTypeOf :: DateSpan -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DateSpan) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DateSpan) Source #

gmapT :: (forall b. Data b => b -> b) -> DateSpan -> DateSpan Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DateSpan -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DateSpan -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> DateSpan -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DateSpan -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DateSpan -> m DateSpan Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DateSpan -> m DateSpan Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DateSpan -> m DateSpan Source #

Ord DateSpan Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: DateSpan -> DateSpan -> Ordering Source # (<) :: DateSpan -> DateSpan -> Bool Source # (<=) :: DateSpan -> DateSpan -> Bool Source # (>) :: DateSpan -> DateSpan -> Bool Source # (>=) :: DateSpan -> DateSpan -> Bool Source # max :: DateSpan -> DateSpan -> DateSpan Source # min :: DateSpan -> DateSpan -> DateSpan Source #
Show DateSpan Source # |
Instance details Defined in Hledger.Data.Dates Methods showsPrec :: Int -> DateSpan -> ShowS Source # show :: DateSpan -> String Source # showList :: [DateSpan] -> ShowS Source #
Generic DateSpan Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep DateSpan :: Type -> Type Source # Methods from :: DateSpan -> Rep DateSpan x Source # to :: Rep DateSpan x -> DateSpan Source #
Default DateSpan Source # |
Instance details Defined in Hledger.Data.Types Methods def :: DateSpan #
NFData DateSpan Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: DateSpan -> () Source #
type Rep DateSpan Source # |

Instance details

Defined in Hledger.Data.Types

type Rep DateSpan = D1 (MetaData "DateSpan" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "DateSpan" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Day)) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Day))))

type Year = Integer Source #

type Month = Int Source #

type Quarter = Int Source #

type YearWeek = Int Source #

type MonthWeek = Int Source #

type YearDay = Int Source #

type MonthDay = Int Source #

type WeekDay = Int Source #

data Period Source #

Constructors

DayPeriod Day |
WeekPeriod Day |
MonthPeriod Year Month |
QuarterPeriod Year Quarter |
YearPeriod Year |
PeriodBetween Day Day |
PeriodFrom Day |
PeriodTo Day |
PeriodAll |

Instances

Eq Period Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Period -> Period -> Bool Source # (/=) :: Period -> Period -> Bool Source #
Data Period Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Period -> c Period Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Period Source #

toConstr :: Period -> Constr Source #

dataTypeOf :: Period -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Period) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Period) Source #

gmapT :: (forall b. Data b => b -> b) -> Period -> Period Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Period -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Period -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Period -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Period -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Period -> m Period Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Period -> m Period Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Period -> m Period Source #

Ord Period Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: Period -> Period -> Ordering Source # (<) :: Period -> Period -> Bool Source # (<=) :: Period -> Period -> Bool Source # (>) :: Period -> Period -> Bool Source # (>=) :: Period -> Period -> Bool Source # max :: Period -> Period -> Period Source # min :: Period -> Period -> Period Source #
Show Period Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Period -> ShowS Source # show :: Period -> String Source # showList :: [Period] -> ShowS Source #
Generic Period Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Period :: Type -> Type Source # Methods from :: Period -> Rep Period x Source # to :: Rep Period x -> Period Source #
Default Period Source # |
Instance details Defined in Hledger.Data.Types Methods def :: Period #
type Rep Period Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Period = D1 (MetaData "Period" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (((C1 (MetaCons "DayPeriod" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day)) :+: C1 (MetaCons "WeekPeriod" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day))) :+: (C1 (MetaCons "MonthPeriod" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Year) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Month)) :+: C1 (MetaCons "QuarterPeriod" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Year) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Quarter)))) :+: ((C1 (MetaCons "YearPeriod" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Year)) :+: C1 (MetaCons "PeriodBetween" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day))) :+: (C1 (MetaCons "PeriodFrom" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day)) :+: (C1 (MetaCons "PeriodTo" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day)) :+: C1 (MetaCons "PeriodAll" PrefixI False) (U1 :: Type -> Type)))))

data Interval Source #

Constructors

NoInterval |
Days Int |
Weeks Int |
Months Int |
Quarters Int |
Years Int |
DayOfMonth Int |
WeekdayOfMonth Int Int |
DayOfWeek Int |
DayOfYear Int Int |

Instances

Eq Interval Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Interval -> Interval -> Bool Source # (/=) :: Interval -> Interval -> Bool Source #
Data Interval Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Interval -> c Interval Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Interval Source #

toConstr :: Interval -> Constr Source #

dataTypeOf :: Interval -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Interval) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Interval) Source #

gmapT :: (forall b. Data b => b -> b) -> Interval -> Interval Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Interval -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Interval -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Interval -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Interval -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Interval -> m Interval Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Interval -> m Interval Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Interval -> m Interval Source #

Ord Interval Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: Interval -> Interval -> Ordering Source # (<) :: Interval -> Interval -> Bool Source # (<=) :: Interval -> Interval -> Bool Source # (>) :: Interval -> Interval -> Bool Source # (>=) :: Interval -> Interval -> Bool Source # max :: Interval -> Interval -> Interval Source # min :: Interval -> Interval -> Interval Source #
Show Interval Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Interval -> ShowS Source # show :: Interval -> String Source # showList :: [Interval] -> ShowS Source #
Generic Interval Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Interval :: Type -> Type Source # Methods from :: Interval -> Rep Interval x Source # to :: Rep Interval x -> Interval Source #
Default Interval Source # |
Instance details Defined in Hledger.Data.Types Methods def :: Interval #
NFData Interval Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Interval -> () Source #
type Rep Interval Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Interval = D1 (MetaData "Interval" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (((C1 (MetaCons "NoInterval" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Days" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) :+: (C1 (MetaCons "Weeks" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :+: (C1 (MetaCons "Months" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :+: C1 (MetaCons "Quarters" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))))) :+: ((C1 (MetaCons "Years" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :+: C1 (MetaCons "DayOfMonth" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) :+: (C1 (MetaCons "WeekdayOfMonth" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :+: (C1 (MetaCons "DayOfWeek" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :+: C1 (MetaCons "DayOfYear" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))))))

type AccountName = Text Source #

data AccountType Source #

Constructors

Asset |
Liability |
Equity |
Revenue |
Expense |

Instances

Eq AccountType Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: AccountType -> AccountType -> Bool Source # (/=) :: AccountType -> AccountType -> Bool Source #
Data AccountType Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AccountType -> c AccountType Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AccountType Source #

toConstr :: AccountType -> Constr Source #

dataTypeOf :: AccountType -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AccountType) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AccountType) Source #

gmapT :: (forall b. Data b => b -> b) -> AccountType -> AccountType Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AccountType -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AccountType -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> AccountType -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AccountType -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AccountType -> m AccountType Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountType -> m AccountType Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountType -> m AccountType Source #

Ord AccountType Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: AccountType -> AccountType -> Ordering Source #

(<) :: AccountType -> AccountType -> Bool Source #

(<=) :: AccountType -> AccountType -> Bool Source #

(>) :: AccountType -> AccountType -> Bool Source #

(>=) :: AccountType -> AccountType -> Bool Source #

max :: AccountType -> AccountType -> AccountType Source #

min :: AccountType -> AccountType -> AccountType Source #

Show AccountType Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountType -> ShowS Source # show :: AccountType -> String Source # showList :: [AccountType] -> ShowS Source #
Generic AccountType Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AccountType :: Type -> Type Source # Methods from :: AccountType -> Rep AccountType x Source # to :: Rep AccountType x -> AccountType Source #
NFData AccountType Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: AccountType -> () Source #
type Rep AccountType Source # |

Instance details

Defined in Hledger.Data.Types

type Rep AccountType = D1 (MetaData "AccountType" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) ((C1 (MetaCons "Asset" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Liability" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Equity" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Revenue" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Expense" PrefixI False) (U1 :: Type -> Type))))

data AccountAlias Source #

Constructors

BasicAlias AccountName AccountName |
RegexAlias Regexp Replacement |

Instances

Eq AccountAlias Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: AccountAlias -> AccountAlias -> Bool Source # (/=) :: AccountAlias -> AccountAlias -> Bool Source #
Data AccountAlias Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AccountAlias -> c AccountAlias Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AccountAlias Source #

toConstr :: AccountAlias -> Constr Source #

dataTypeOf :: AccountAlias -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AccountAlias) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AccountAlias) Source #

gmapT :: (forall b. Data b => b -> b) -> AccountAlias -> AccountAlias Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AccountAlias -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AccountAlias -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> AccountAlias -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AccountAlias -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AccountAlias -> m AccountAlias Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountAlias -> m AccountAlias Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountAlias -> m AccountAlias Source #

Ord AccountAlias Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: AccountAlias -> AccountAlias -> Ordering Source #

(<) :: AccountAlias -> AccountAlias -> Bool Source #

(<=) :: AccountAlias -> AccountAlias -> Bool Source #

(>) :: AccountAlias -> AccountAlias -> Bool Source #

(>=) :: AccountAlias -> AccountAlias -> Bool Source #

max :: AccountAlias -> AccountAlias -> AccountAlias Source #

min :: AccountAlias -> AccountAlias -> AccountAlias Source #

Read AccountAlias Source # |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AccountAlias Source # readList :: ReadS [AccountAlias] Source # readPrec :: ReadPrec AccountAlias Source # readListPrec :: ReadPrec [AccountAlias] Source #
Show AccountAlias Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountAlias -> ShowS Source # show :: AccountAlias -> String Source # showList :: [AccountAlias] -> ShowS Source #
Generic AccountAlias Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AccountAlias :: Type -> Type Source # Methods from :: AccountAlias -> Rep AccountAlias x Source # to :: Rep AccountAlias x -> AccountAlias Source #
NFData AccountAlias Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: AccountAlias -> () Source #
type Rep AccountAlias Source # |

Instance details

Defined in Hledger.Data.Types

type Rep AccountAlias = D1 (MetaData "AccountAlias" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "BasicAlias" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AccountName) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AccountName)) :+: C1 (MetaCons "RegexAlias" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Regexp) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Replacement)))

data Side Source #

Constructors

L |
R |

Instances

Eq Side Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Side -> Side -> Bool Source # (/=) :: Side -> Side -> Bool Source #
Data Side Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Side -> c Side Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Side Source #

toConstr :: Side -> Constr Source #

dataTypeOf :: Side -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Side) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Side) Source #

gmapT :: (forall b. Data b => b -> b) -> Side -> Side Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Side -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Side -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Side -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Side -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Side -> m Side Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Side -> m Side Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Side -> m Side Source #

Ord Side Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: Side -> Side -> Ordering Source # (<) :: Side -> Side -> Bool Source # (<=) :: Side -> Side -> Bool Source # (>) :: Side -> Side -> Bool Source # (>=) :: Side -> Side -> Bool Source # max :: Side -> Side -> Side Source # min :: Side -> Side -> Side Source #
Read Side Source # |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS Side Source # readList :: ReadS [Side] Source # readPrec :: ReadPrec Side Source # readListPrec :: ReadPrec [Side] Source #
Show Side Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Side -> ShowS Source # show :: Side -> String Source # showList :: [Side] -> ShowS Source #
Generic Side Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Side :: Type -> Type Source # Methods from :: Side -> Rep Side x Source # to :: Rep Side x -> Side Source #
NFData Side Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Side -> () Source #
type Rep Side Source # |
Instance details Defined in Hledger.Data.Types type Rep Side = D1 (MetaData "Side" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "L" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "R" PrefixI False) (U1 :: Type -> Type))

type Quantity = Decimal Source #

The basic numeric type used in amounts.

data Price Source #

An amount's price (none, per unit, or total) in another commodity. The price amount should always be positive.

Constructors

NoPrice |
UnitPrice Amount |
TotalPrice Amount |

Instances

Eq Price Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Price -> Price -> Bool Source # (/=) :: Price -> Price -> Bool Source #
Data Price Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Price -> c Price Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Price Source #

toConstr :: Price -> Constr Source #

dataTypeOf :: Price -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Price) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Price) Source #

gmapT :: (forall b. Data b => b -> b) -> Price -> Price Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Price -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Price -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Price -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Price -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Price -> m Price Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Price -> m Price Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Price -> m Price Source #

Ord Price Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: Price -> Price -> Ordering Source # (<) :: Price -> Price -> Bool Source # (<=) :: Price -> Price -> Bool Source # (>) :: Price -> Price -> Bool Source # (>=) :: Price -> Price -> Bool Source # max :: Price -> Price -> Price Source # min :: Price -> Price -> Price Source #
Show Price Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Price -> ShowS Source # show :: Price -> String Source # showList :: [Price] -> ShowS Source #
Generic Price Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Price :: Type -> Type Source # Methods from :: Price -> Rep Price x Source # to :: Rep Price x -> Price Source #
NFData Price Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Price -> () Source #
type Rep Price Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Price = D1 (MetaData "Price" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "NoPrice" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "UnitPrice" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Amount)) :+: C1 (MetaCons "TotalPrice" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Amount))))

data AmountStyle Source #

Display style for an amount.

Constructors

AmountStyle |

Fields

- ascommodityside :: Side

  does the symbol appear on the left or the right ?

- ascommodityspaced :: Bool

  space between symbol and quantity ?

- asprecision :: !Int

  number of digits displayed after the decimal point

- asdecimalpoint :: Maybe Char

  character used as decimal point: period or comma. Nothing means "unspecified, use default"

- asdigitgroups :: Maybe DigitGroupStyle

  style for displaying digit groups, if any

Instances

Eq AmountStyle Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: AmountStyle -> AmountStyle -> Bool Source # (/=) :: AmountStyle -> AmountStyle -> Bool Source #
Data AmountStyle Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AmountStyle -> c AmountStyle Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AmountStyle Source #

toConstr :: AmountStyle -> Constr Source #

dataTypeOf :: AmountStyle -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AmountStyle) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AmountStyle) Source #

gmapT :: (forall b. Data b => b -> b) -> AmountStyle -> AmountStyle Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AmountStyle -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AmountStyle -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> AmountStyle -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AmountStyle -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AmountStyle -> m AmountStyle Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AmountStyle -> m AmountStyle Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AmountStyle -> m AmountStyle Source #

Ord AmountStyle Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: AmountStyle -> AmountStyle -> Ordering Source #

(<) :: AmountStyle -> AmountStyle -> Bool Source #

(<=) :: AmountStyle -> AmountStyle -> Bool Source #

(>) :: AmountStyle -> AmountStyle -> Bool Source #

(>=) :: AmountStyle -> AmountStyle -> Bool Source #

max :: AmountStyle -> AmountStyle -> AmountStyle Source #

min :: AmountStyle -> AmountStyle -> AmountStyle Source #

Read AmountStyle Source # |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AmountStyle Source # readList :: ReadS [AmountStyle] Source # readPrec :: ReadPrec AmountStyle Source # readListPrec :: ReadPrec [AmountStyle] Source #
Show AmountStyle Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountStyle -> ShowS Source # show :: AmountStyle -> String Source # showList :: [AmountStyle] -> ShowS Source #
Generic AmountStyle Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AmountStyle :: Type -> Type Source # Methods from :: AmountStyle -> Rep AmountStyle x Source # to :: Rep AmountStyle x -> AmountStyle Source #
NFData AmountStyle Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: AmountStyle -> () Source #
type Rep AmountStyle Source # |

Instance details

Defined in Hledger.Data.Types

type Rep AmountStyle = D1 (MetaData "AmountStyle" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "AmountStyle" PrefixI True) ((S1 (MetaSel (Just "ascommodityside") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Side) :*: S1 (MetaSel (Just "ascommodityspaced") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) :*: (S1 (MetaSel (Just "asprecision") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Int) :*: (S1 (MetaSel (Just "asdecimalpoint") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Char)) :*: S1 (MetaSel (Just "asdigitgroups") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe DigitGroupStyle))))))

data DigitGroupStyle Source #

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 point), and the size of each group, starting with the one nearest the decimal point. The last group size is assumed to repeat. Eg, comma between thousands is DigitGroups ',' [3].

Constructors

DigitGroups Char [Int] |

Instances

Eq DigitGroupStyle Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: DigitGroupStyle -> DigitGroupStyle -> Bool Source # (/=) :: DigitGroupStyle -> DigitGroupStyle -> Bool Source #
Data DigitGroupStyle Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DigitGroupStyle -> c DigitGroupStyle Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DigitGroupStyle Source #

toConstr :: DigitGroupStyle -> Constr Source #

dataTypeOf :: DigitGroupStyle -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DigitGroupStyle) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DigitGroupStyle) Source #

gmapT :: (forall b. Data b => b -> b) -> DigitGroupStyle -> DigitGroupStyle Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DigitGroupStyle -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DigitGroupStyle -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> DigitGroupStyle -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DigitGroupStyle -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DigitGroupStyle -> m DigitGroupStyle Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DigitGroupStyle -> m DigitGroupStyle Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DigitGroupStyle -> m DigitGroupStyle Source #

Ord DigitGroupStyle Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: DigitGroupStyle -> DigitGroupStyle -> Ordering Source #

(<) :: DigitGroupStyle -> DigitGroupStyle -> Bool Source #

(<=) :: DigitGroupStyle -> DigitGroupStyle -> Bool Source #

(>) :: DigitGroupStyle -> DigitGroupStyle -> Bool Source #

(>=) :: DigitGroupStyle -> DigitGroupStyle -> Bool Source #

max :: DigitGroupStyle -> DigitGroupStyle -> DigitGroupStyle Source #

min :: DigitGroupStyle -> DigitGroupStyle -> DigitGroupStyle Source #

Read DigitGroupStyle Source # |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS DigitGroupStyle Source # readList :: ReadS [DigitGroupStyle] Source # readPrec :: ReadPrec DigitGroupStyle Source # readListPrec :: ReadPrec [DigitGroupStyle] Source #
Show DigitGroupStyle Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> DigitGroupStyle -> ShowS Source # show :: DigitGroupStyle -> String Source # showList :: [DigitGroupStyle] -> ShowS Source #
Generic DigitGroupStyle Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep DigitGroupStyle :: Type -> Type Source # Methods from :: DigitGroupStyle -> Rep DigitGroupStyle x Source # to :: Rep DigitGroupStyle x -> DigitGroupStyle Source #
NFData DigitGroupStyle Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: DigitGroupStyle -> () Source #
type Rep DigitGroupStyle Source # |

Instance details

Defined in Hledger.Data.Types

type Rep DigitGroupStyle = D1 (MetaData "DigitGroupStyle" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "DigitGroups" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Char) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Int])))

type CommoditySymbol = Text Source #

data Commodity Source #

Constructors

Commodity |

Fields

- csymbol :: CommoditySymbol
- cformat :: Maybe AmountStyle

Instances

Eq Commodity Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Commodity -> Commodity -> Bool Source # (/=) :: Commodity -> Commodity -> Bool Source #
Data Commodity Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Commodity -> c Commodity Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Commodity Source #

toConstr :: Commodity -> Constr Source #

dataTypeOf :: Commodity -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Commodity) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Commodity) Source #

gmapT :: (forall b. Data b => b -> b) -> Commodity -> Commodity Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Commodity -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Commodity -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Commodity -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Commodity -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Commodity -> m Commodity Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Commodity -> m Commodity Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Commodity -> m Commodity Source #

Show Commodity Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Commodity -> ShowS Source # show :: Commodity -> String Source # showList :: [Commodity] -> ShowS Source #
Generic Commodity Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Commodity :: Type -> Type Source # Methods from :: Commodity -> Rep Commodity x Source # to :: Rep Commodity x -> Commodity Source #
NFData Commodity Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Commodity -> () Source #
type Rep Commodity Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Commodity = D1 (MetaData "Commodity" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Commodity" PrefixI True) (S1 (MetaSel (Just "csymbol") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CommoditySymbol) :*: S1 (MetaSel (Just "cformat") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AmountStyle))))

data Amount Source #

Constructors

Amount |

Fields

- acommodity :: CommoditySymbol
- aquantity :: Quantity
- aprice :: Price

  the (fixed) price for this amount, if any

- astyle :: AmountStyle
- amultiplier :: Bool

  kludge: a flag marking this amount and posting as a multiplier in a TMPostingRule. In a regular Posting, should always be false.

Instances

Eq Amount Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Amount -> Amount -> Bool Source # (/=) :: Amount -> Amount -> Bool Source #
Data Amount Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Amount -> c Amount Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Amount Source #

toConstr :: Amount -> Constr Source #

dataTypeOf :: Amount -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Amount) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Amount) Source #

gmapT :: (forall b. Data b => b -> b) -> Amount -> Amount Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Amount -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Amount -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Amount -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Amount -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Amount -> m Amount Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Amount -> m Amount Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Amount -> m Amount Source #

Num Amount Source # |
Instance details Defined in Hledger.Data.Amount Methods (+) :: Amount -> Amount -> Amount Source # (-) :: Amount -> Amount -> Amount Source # (*) :: Amount -> Amount -> Amount Source # negate :: Amount -> Amount Source # abs :: Amount -> Amount Source # signum :: Amount -> Amount Source # fromInteger :: Integer -> Amount Source #
Ord Amount Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: Amount -> Amount -> Ordering Source # (<) :: Amount -> Amount -> Bool Source # (<=) :: Amount -> Amount -> Bool Source # (>) :: Amount -> Amount -> Bool Source # (>=) :: Amount -> Amount -> Bool Source # max :: Amount -> Amount -> Amount Source # min :: Amount -> Amount -> Amount Source #
Show Amount Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Amount -> ShowS Source # show :: Amount -> String Source # showList :: [Amount] -> ShowS Source #
Generic Amount Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Amount :: Type -> Type Source # Methods from :: Amount -> Rep Amount x Source # to :: Rep Amount x -> Amount Source #
NFData Amount Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Amount -> () Source #
type Rep Amount Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Amount = D1 (MetaData "Amount" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Amount" PrefixI True) ((S1 (MetaSel (Just "acommodity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CommoditySymbol) :*: S1 (MetaSel (Just "aquantity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Quantity)) :*: (S1 (MetaSel (Just "aprice") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Price) :*: (S1 (MetaSel (Just "astyle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AmountStyle) :*: S1 (MetaSel (Just "amultiplier") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))))

newtype MixedAmount Source #

Constructors

Mixed [Amount] |

Instances

Eq MixedAmount Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: MixedAmount -> MixedAmount -> Bool Source # (/=) :: MixedAmount -> MixedAmount -> Bool Source #
Data MixedAmount Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MixedAmount -> c MixedAmount Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MixedAmount Source #

toConstr :: MixedAmount -> Constr Source #

dataTypeOf :: MixedAmount -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MixedAmount) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MixedAmount) Source #

gmapT :: (forall b. Data b => b -> b) -> MixedAmount -> MixedAmount Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MixedAmount -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MixedAmount -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> MixedAmount -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MixedAmount -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MixedAmount -> m MixedAmount Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MixedAmount -> m MixedAmount Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MixedAmount -> m MixedAmount Source #

Num MixedAmount Source # |

Instance details

Defined in Hledger.Data.Amount

Methods

(+) :: MixedAmount -> MixedAmount -> MixedAmount Source #

(-) :: MixedAmount -> MixedAmount -> MixedAmount Source #

(*) :: MixedAmount -> MixedAmount -> MixedAmount Source #

negate :: MixedAmount -> MixedAmount Source #

abs :: MixedAmount -> MixedAmount Source #

signum :: MixedAmount -> MixedAmount Source #

fromInteger :: Integer -> MixedAmount Source #

Ord MixedAmount Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: MixedAmount -> MixedAmount -> Ordering Source #

(<) :: MixedAmount -> MixedAmount -> Bool Source #

(<=) :: MixedAmount -> MixedAmount -> Bool Source #

(>) :: MixedAmount -> MixedAmount -> Bool Source #

(>=) :: MixedAmount -> MixedAmount -> Bool Source #

max :: MixedAmount -> MixedAmount -> MixedAmount Source #

min :: MixedAmount -> MixedAmount -> MixedAmount Source #

Show MixedAmount Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> MixedAmount -> ShowS Source # show :: MixedAmount -> String Source # showList :: [MixedAmount] -> ShowS Source #
Generic MixedAmount Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep MixedAmount :: Type -> Type Source # Methods from :: MixedAmount -> Rep MixedAmount x Source # to :: Rep MixedAmount x -> MixedAmount Source #
NFData MixedAmount Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: MixedAmount -> () Source #
type Rep MixedAmount Source # |
Instance details Defined in Hledger.Data.Types type Rep MixedAmount = D1 (MetaData "MixedAmount" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" True) (C1 (MetaCons "Mixed" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Amount])))

data PostingType Source #

Constructors

RegularPosting |
VirtualPosting |
BalancedVirtualPosting |

Instances

Eq PostingType Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: PostingType -> PostingType -> Bool Source # (/=) :: PostingType -> PostingType -> Bool Source #
Data PostingType Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PostingType -> c PostingType Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PostingType Source #

toConstr :: PostingType -> Constr Source #

dataTypeOf :: PostingType -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PostingType) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PostingType) Source #

gmapT :: (forall b. Data b => b -> b) -> PostingType -> PostingType Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PostingType -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PostingType -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PostingType -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PostingType -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PostingType -> m PostingType Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PostingType -> m PostingType Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PostingType -> m PostingType Source #

Show PostingType Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> PostingType -> ShowS Source # show :: PostingType -> String Source # showList :: [PostingType] -> ShowS Source #
Generic PostingType Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep PostingType :: Type -> Type Source # Methods from :: PostingType -> Rep PostingType x Source # to :: Rep PostingType x -> PostingType Source #
NFData PostingType Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: PostingType -> () Source #
type Rep PostingType Source # |
Instance details Defined in Hledger.Data.Types type Rep PostingType = D1 (MetaData "PostingType" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "RegularPosting" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "VirtualPosting" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "BalancedVirtualPosting" PrefixI False) (U1 :: Type -> Type)))

type TagName = Text Source #

type TagValue = Text Source #

type Tag Source #

Arguments

= (TagName, TagValue) | A tag name and (possibly empty) value.

type DateTag = (TagName, Day) Source #

data Status Source #

The status of a transaction or posting, recorded with a status mark (nothing, !, or *). What these mean is ultimately user defined.

Constructors

Unmarked |
Pending |
Cleared |

Instances

Bounded Status Source # |
Instance details Defined in Hledger.Data.Types Methods minBound :: Status Source # maxBound :: Status Source #
Enum Status Source # |

Instance details

Defined in Hledger.Data.Types

Methods

succ :: Status -> Status Source #

pred :: Status -> Status Source #

toEnum :: Int -> Status Source #

fromEnum :: Status -> Int Source #

enumFrom :: Status -> [Status] Source #

enumFromThen :: Status -> Status -> [Status] Source #

enumFromTo :: Status -> Status -> [Status] Source #

enumFromThenTo :: Status -> Status -> Status -> [Status] Source #

Eq Status Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Status -> Status -> Bool Source # (/=) :: Status -> Status -> Bool Source #
Data Status Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Status -> c Status Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Status Source #

toConstr :: Status -> Constr Source #

dataTypeOf :: Status -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Status) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Status) Source #

gmapT :: (forall b. Data b => b -> b) -> Status -> Status Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Status -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Status -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Status -> m Status Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status Source #

Ord Status Source # |
Instance details Defined in Hledger.Data.Types Methods compare :: Status -> Status -> Ordering Source # (<) :: Status -> Status -> Bool Source # (<=) :: Status -> Status -> Bool Source # (>) :: Status -> Status -> Bool Source # (>=) :: Status -> Status -> Bool Source # max :: Status -> Status -> Status Source # min :: Status -> Status -> Status Source #
Show Status Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Status -> ShowS Source # show :: Status -> String Source # showList :: [Status] -> ShowS Source #
Generic Status Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Status :: Type -> Type Source # Methods from :: Status -> Rep Status x Source # to :: Rep Status x -> Status Source #
NFData Status Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Status -> () Source #
type Rep Status Source # |
Instance details Defined in Hledger.Data.Types type Rep Status = D1 (MetaData "Status" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Unmarked" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Pending" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Cleared" PrefixI False) (U1 :: Type -> Type)))

data BalanceAssertion Source #

The amount to compare an account's balance to, to verify that the history leading to a given point is correct or to set the account to a known value.

Constructors

BalanceAssertion |

Fields

- baamount :: Amount

  the expected value of a particular commodity

- baexact :: Bool

  whether the assertion is exclusive, and doesn't allow other commodities alongside `baamount`

- baposition :: GenericSourcePos

Instances

Eq BalanceAssertion Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: BalanceAssertion -> BalanceAssertion -> Bool Source # (/=) :: BalanceAssertion -> BalanceAssertion -> Bool Source #
Data BalanceAssertion Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BalanceAssertion -> c BalanceAssertion Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BalanceAssertion Source #

toConstr :: BalanceAssertion -> Constr Source #

dataTypeOf :: BalanceAssertion -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BalanceAssertion) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BalanceAssertion) Source #

gmapT :: (forall b. Data b => b -> b) -> BalanceAssertion -> BalanceAssertion Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BalanceAssertion -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BalanceAssertion -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> BalanceAssertion -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BalanceAssertion -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BalanceAssertion -> m BalanceAssertion Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BalanceAssertion -> m BalanceAssertion Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BalanceAssertion -> m BalanceAssertion Source #

Show BalanceAssertion Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> BalanceAssertion -> ShowS Source # show :: BalanceAssertion -> String Source # showList :: [BalanceAssertion] -> ShowS Source #
Generic BalanceAssertion Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep BalanceAssertion :: Type -> Type Source # Methods from :: BalanceAssertion -> Rep BalanceAssertion x Source # to :: Rep BalanceAssertion x -> BalanceAssertion Source #
NFData BalanceAssertion Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: BalanceAssertion -> () Source #
type Rep BalanceAssertion Source # |

Instance details

Defined in Hledger.Data.Types

type Rep BalanceAssertion = D1 (MetaData "BalanceAssertion" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "BalanceAssertion" PrefixI True) (S1 (MetaSel (Just "baamount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Amount) :*: (S1 (MetaSel (Just "baexact") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool) :*: S1 (MetaSel (Just "baposition") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 GenericSourcePos))))

data Posting Source #

Constructors

Posting |

Fields

- 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

- pstatus :: Status
- paccount :: AccountName
- pamount :: MixedAmount
- pcomment :: Text

  this posting's comment lines, as a single non-indented multi-line string

- ptype :: PostingType
- ptags :: [Tag]

  tag names and values, extracted from the comment

- pbalanceassertion :: Maybe BalanceAssertion

  optional: the expected balance in this commodity in the account after this posting

- ptransaction :: Maybe Transaction

  this posting's parent transaction (co-recursive types). Tying this knot gets tedious, Maybe makes it easier/optional.

- porigin :: Maybe Posting

  When this posting has been transformed in some way (eg its amount or price was inferred, or the account name was changed by a pivot or budget report), this references the original untransformed posting (which will have Nothing in this field).

Instances

Eq Posting Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Posting -> Posting -> Bool Source # (/=) :: Posting -> Posting -> Bool Source #
Data Posting Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Posting -> c Posting Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Posting Source #

toConstr :: Posting -> Constr Source #

dataTypeOf :: Posting -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Posting) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Posting) Source #

gmapT :: (forall b. Data b => b -> b) -> Posting -> Posting Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Posting -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Posting -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Posting -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Posting -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Posting -> m Posting Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Posting -> m Posting Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Posting -> m Posting Source #

Show Posting Source # | Posting's show instance elides the parent transaction so as not to recurse forever.
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Posting -> ShowS Source # show :: Posting -> String Source # showList :: [Posting] -> ShowS Source #
Generic Posting Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Posting :: Type -> Type Source # Methods from :: Posting -> Rep Posting x Source # to :: Rep Posting x -> Posting Source #
NFData Posting Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Posting -> () Source #
type Rep Posting Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Posting = D1 (MetaData "Posting" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Posting" PrefixI True) (((S1 (MetaSel (Just "pdate") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Day)) :*: S1 (MetaSel (Just "pdate2") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Day))) :*: (S1 (MetaSel (Just "pstatus") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Status) :*: (S1 (MetaSel (Just "paccount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AccountName) :*: S1 (MetaSel (Just "pamount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MixedAmount)))) :*: ((S1 (MetaSel (Just "pcomment") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "ptype") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PostingType) :*: S1 (MetaSel (Just "ptags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Tag]))) :*: (S1 (MetaSel (Just "pbalanceassertion") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe BalanceAssertion)) :*: (S1 (MetaSel (Just "ptransaction") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Transaction)) :*: S1 (MetaSel (Just "porigin") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Posting)))))))

data GenericSourcePos Source #

The position of parse errors (eg), like parsec's SourcePos but generic.

Constructors

GenericSourcePos FilePath Int Int | file path, 1-based line number and 1-based column number.
JournalSourcePos FilePath (Int, Int) | file path, inclusive range of 1-based line numbers (first, last).

Instances

Eq GenericSourcePos Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: GenericSourcePos -> GenericSourcePos -> Bool Source # (/=) :: GenericSourcePos -> GenericSourcePos -> Bool Source #
Data GenericSourcePos Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GenericSourcePos -> c GenericSourcePos Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GenericSourcePos Source #

toConstr :: GenericSourcePos -> Constr Source #

dataTypeOf :: GenericSourcePos -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GenericSourcePos) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GenericSourcePos) Source #

gmapT :: (forall b. Data b => b -> b) -> GenericSourcePos -> GenericSourcePos Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GenericSourcePos -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GenericSourcePos -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> GenericSourcePos -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GenericSourcePos -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GenericSourcePos -> m GenericSourcePos Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GenericSourcePos -> m GenericSourcePos Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GenericSourcePos -> m GenericSourcePos Source #

Ord GenericSourcePos Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: GenericSourcePos -> GenericSourcePos -> Ordering Source #

(<) :: GenericSourcePos -> GenericSourcePos -> Bool Source #

(<=) :: GenericSourcePos -> GenericSourcePos -> Bool Source #

(>) :: GenericSourcePos -> GenericSourcePos -> Bool Source #

(>=) :: GenericSourcePos -> GenericSourcePos -> Bool Source #

max :: GenericSourcePos -> GenericSourcePos -> GenericSourcePos Source #

min :: GenericSourcePos -> GenericSourcePos -> GenericSourcePos Source #

Read GenericSourcePos Source # |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS GenericSourcePos Source # readList :: ReadS [GenericSourcePos] Source # readPrec :: ReadPrec GenericSourcePos Source # readListPrec :: ReadPrec [GenericSourcePos] Source #
Show GenericSourcePos Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> GenericSourcePos -> ShowS Source # show :: GenericSourcePos -> String Source # showList :: [GenericSourcePos] -> ShowS Source #
Generic GenericSourcePos Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep GenericSourcePos :: Type -> Type Source # Methods from :: GenericSourcePos -> Rep GenericSourcePos x Source # to :: Rep GenericSourcePos x -> GenericSourcePos Source #
NFData GenericSourcePos Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: GenericSourcePos -> () Source #
type Rep GenericSourcePos Source # |

Instance details

Defined in Hledger.Data.Types

type Rep GenericSourcePos = D1 (MetaData "GenericSourcePos" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "GenericSourcePos" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath) :*: (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int))) :+: C1 (MetaCons "JournalSourcePos" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 FilePath) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Int, Int))))

data Transaction Source #

Constructors

Transaction |

Fields

- tindex :: Integer

  this transaction's 1-based position in the input stream, or 0 when not available

- tsourcepos :: GenericSourcePos
- tdate :: Day
- tdate2 :: Maybe Day
- tstatus :: Status
- tcode :: Text
- tdescription :: Text
- tcomment :: Text

  this transaction's comment lines, as a single non-indented multi-line string

- ttags :: [Tag]

  tag names and values, extracted from the comment

- tpostings :: [Posting]

  this transaction's postings

- tpreceding_comment_lines :: Text

  any comment lines immediately preceding this transaction

Instances

Eq Transaction Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Transaction -> Transaction -> Bool Source # (/=) :: Transaction -> Transaction -> Bool Source #
Data Transaction Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Transaction -> c Transaction Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Transaction Source #

toConstr :: Transaction -> Constr Source #

dataTypeOf :: Transaction -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Transaction) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Transaction) Source #

gmapT :: (forall b. Data b => b -> b) -> Transaction -> Transaction Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Transaction -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Transaction -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Transaction -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Transaction -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Transaction -> m Transaction Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Transaction -> m Transaction Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Transaction -> m Transaction Source #

Show Transaction Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Transaction -> ShowS Source # show :: Transaction -> String Source # showList :: [Transaction] -> ShowS Source #
Generic Transaction Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Transaction :: Type -> Type Source # Methods from :: Transaction -> Rep Transaction x Source # to :: Rep Transaction x -> Transaction Source #
NFData Transaction Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Transaction -> () Source #
type Rep Transaction Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Transaction = D1 (MetaData "Transaction" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Transaction" PrefixI True) (((S1 (MetaSel (Just "tindex") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer) :*: S1 (MetaSel (Just "tsourcepos") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 GenericSourcePos)) :*: (S1 (MetaSel (Just "tdate") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day) :*: (S1 (MetaSel (Just "tdate2") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Day)) :*: S1 (MetaSel (Just "tstatus") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Status)))) :*: ((S1 (MetaSel (Just "tcode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "tdescription") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "tcomment") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) :*: (S1 (MetaSel (Just "ttags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Tag]) :*: (S1 (MetaSel (Just "tpostings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Posting]) :*: S1 (MetaSel (Just "tpreceding_comment_lines") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))))

data TransactionModifier Source #

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: the TMPostingRule, which adds a posting ("auto posting") to the transaction, optionally setting its amount to the matched posting's amount multiplied by a constant.

Constructors

TransactionModifier |

Fields

- tmquerytxt :: Text
- tmpostingrules :: [TMPostingRule]

Instances

Eq TransactionModifier Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: TransactionModifier -> TransactionModifier -> Bool Source # (/=) :: TransactionModifier -> TransactionModifier -> Bool Source #
Data TransactionModifier Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TransactionModifier -> c TransactionModifier Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TransactionModifier Source #

toConstr :: TransactionModifier -> Constr Source #

dataTypeOf :: TransactionModifier -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TransactionModifier) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TransactionModifier) Source #

gmapT :: (forall b. Data b => b -> b) -> TransactionModifier -> TransactionModifier Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TransactionModifier -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TransactionModifier -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> TransactionModifier -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TransactionModifier -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TransactionModifier -> m TransactionModifier Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TransactionModifier -> m TransactionModifier Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TransactionModifier -> m TransactionModifier Source #

Show TransactionModifier Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> TransactionModifier -> ShowS Source # show :: TransactionModifier -> String Source # showList :: [TransactionModifier] -> ShowS Source #
Generic TransactionModifier Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TransactionModifier :: Type -> Type Source # Methods from :: TransactionModifier -> Rep TransactionModifier x Source # to :: Rep TransactionModifier x -> TransactionModifier Source #
NFData TransactionModifier Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: TransactionModifier -> () Source #
type Rep TransactionModifier Source # |

Instance details

Defined in Hledger.Data.Types

type Rep TransactionModifier = D1 (MetaData "TransactionModifier" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "TransactionModifier" PrefixI True) (S1 (MetaSel (Just "tmquerytxt") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "tmpostingrules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TMPostingRule])))

nulltransactionmodifier :: TransactionModifier Source #

type TMPostingRule = Posting Source #

A transaction modifier transformation, which adds an extra posting to the matched posting's transaction. Can be like a regular posting, or the amount can have the amultiplier flag set, indicating that it's a multiplier for the matched posting's amount.

data PeriodicTransaction Source #

A periodic transaction rule, describing a transaction that recurs.

Constructors

PeriodicTransaction |

Fields

- ptperiodexpr :: Text

  the period expression as written

- ptinterval :: Interval

  the interval at which this transaction recurs

- ptspan :: DateSpan

  the (possibly unbounded) period during which this transaction recurs. Contains a whole number of intervals.

- ptstatus :: Status

  some of Transaction's fields

- ptcode :: Text
- ptdescription :: Text
- ptcomment :: Text
- pttags :: [Tag]
- ptpostings :: [Posting]

Instances

Eq PeriodicTransaction Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: PeriodicTransaction -> PeriodicTransaction -> Bool Source # (/=) :: PeriodicTransaction -> PeriodicTransaction -> Bool Source #
Data PeriodicTransaction Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PeriodicTransaction -> c PeriodicTransaction Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PeriodicTransaction Source #

toConstr :: PeriodicTransaction -> Constr Source #

dataTypeOf :: PeriodicTransaction -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PeriodicTransaction) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PeriodicTransaction) Source #

gmapT :: (forall b. Data b => b -> b) -> PeriodicTransaction -> PeriodicTransaction Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PeriodicTransaction -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PeriodicTransaction -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PeriodicTransaction -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PeriodicTransaction -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PeriodicTransaction -> m PeriodicTransaction Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PeriodicTransaction -> m PeriodicTransaction Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PeriodicTransaction -> m PeriodicTransaction Source #

Show PeriodicTransaction Source # |
Instance details Defined in Hledger.Data.PeriodicTransaction Methods showsPrec :: Int -> PeriodicTransaction -> ShowS Source # show :: PeriodicTransaction -> String Source # showList :: [PeriodicTransaction] -> ShowS Source #
Generic PeriodicTransaction Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep PeriodicTransaction :: Type -> Type Source # Methods from :: PeriodicTransaction -> Rep PeriodicTransaction x Source # to :: Rep PeriodicTransaction x -> PeriodicTransaction Source #
NFData PeriodicTransaction Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: PeriodicTransaction -> () Source #
type Rep PeriodicTransaction Source # |

Instance details

Defined in Hledger.Data.Types

type Rep PeriodicTransaction = D1 (MetaData "PeriodicTransaction" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "PeriodicTransaction" PrefixI True) (((S1 (MetaSel (Just "ptperiodexpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "ptinterval") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Interval)) :*: (S1 (MetaSel (Just "ptspan") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 DateSpan) :*: S1 (MetaSel (Just "ptstatus") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Status))) :*: ((S1 (MetaSel (Just "ptcode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "ptdescription") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) :*: (S1 (MetaSel (Just "ptcomment") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "pttags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Tag]) :*: S1 (MetaSel (Just "ptpostings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Posting]))))))

nullperiodictransaction :: PeriodicTransaction Source #

data TimeclockCode Source #

Constructors

SetBalance |
SetRequiredHours |
In |
Out |
FinalOut |

Instances

Eq TimeclockCode Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: TimeclockCode -> TimeclockCode -> Bool Source # (/=) :: TimeclockCode -> TimeclockCode -> Bool Source #
Data TimeclockCode Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeclockCode -> c TimeclockCode Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeclockCode Source #

toConstr :: TimeclockCode -> Constr Source #

dataTypeOf :: TimeclockCode -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeclockCode) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeclockCode) Source #

gmapT :: (forall b. Data b => b -> b) -> TimeclockCode -> TimeclockCode Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockCode -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockCode -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> TimeclockCode -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeclockCode -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeclockCode -> m TimeclockCode Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockCode -> m TimeclockCode Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockCode -> m TimeclockCode Source #

Ord TimeclockCode Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: TimeclockCode -> TimeclockCode -> Ordering Source #

(<) :: TimeclockCode -> TimeclockCode -> Bool Source #

(<=) :: TimeclockCode -> TimeclockCode -> Bool Source #

(>) :: TimeclockCode -> TimeclockCode -> Bool Source #

(>=) :: TimeclockCode -> TimeclockCode -> Bool Source #

max :: TimeclockCode -> TimeclockCode -> TimeclockCode Source #

min :: TimeclockCode -> TimeclockCode -> TimeclockCode Source #

Read TimeclockCode Source # |
Instance details Defined in Hledger.Data.Timeclock Methods readsPrec :: Int -> ReadS TimeclockCode Source # readList :: ReadS [TimeclockCode] Source # readPrec :: ReadPrec TimeclockCode Source # readListPrec :: ReadPrec [TimeclockCode] Source #
Show TimeclockCode Source # |
Instance details Defined in Hledger.Data.Timeclock Methods showsPrec :: Int -> TimeclockCode -> ShowS Source # show :: TimeclockCode -> String Source # showList :: [TimeclockCode] -> ShowS Source #
Generic TimeclockCode Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TimeclockCode :: Type -> Type Source # Methods from :: TimeclockCode -> Rep TimeclockCode x Source # to :: Rep TimeclockCode x -> TimeclockCode Source #
NFData TimeclockCode Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: TimeclockCode -> () Source #
type Rep TimeclockCode Source # |

Instance details

Defined in Hledger.Data.Types

type Rep TimeclockCode = D1 (MetaData "TimeclockCode" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) ((C1 (MetaCons "SetBalance" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "SetRequiredHours" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "In" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Out" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FinalOut" PrefixI False) (U1 :: Type -> Type))))

data TimeclockEntry Source #

Constructors

TimeclockEntry |

Fields

- tlsourcepos :: GenericSourcePos
- tlcode :: TimeclockCode
- tldatetime :: LocalTime
- tlaccount :: AccountName
- tldescription :: Text

Instances

Eq TimeclockEntry Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: TimeclockEntry -> TimeclockEntry -> Bool Source # (/=) :: TimeclockEntry -> TimeclockEntry -> Bool Source #
Data TimeclockEntry Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeclockEntry -> c TimeclockEntry Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeclockEntry Source #

toConstr :: TimeclockEntry -> Constr Source #

dataTypeOf :: TimeclockEntry -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeclockEntry) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeclockEntry) Source #

gmapT :: (forall b. Data b => b -> b) -> TimeclockEntry -> TimeclockEntry Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockEntry -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockEntry -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> TimeclockEntry -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeclockEntry -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeclockEntry -> m TimeclockEntry Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockEntry -> m TimeclockEntry Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockEntry -> m TimeclockEntry Source #

Ord TimeclockEntry Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: TimeclockEntry -> TimeclockEntry -> Ordering Source #

(<) :: TimeclockEntry -> TimeclockEntry -> Bool Source #

(<=) :: TimeclockEntry -> TimeclockEntry -> Bool Source #

(>) :: TimeclockEntry -> TimeclockEntry -> Bool Source #

(>=) :: TimeclockEntry -> TimeclockEntry -> Bool Source #

max :: TimeclockEntry -> TimeclockEntry -> TimeclockEntry Source #

min :: TimeclockEntry -> TimeclockEntry -> TimeclockEntry Source #

Show TimeclockEntry Source # |
Instance details Defined in Hledger.Data.Timeclock Methods showsPrec :: Int -> TimeclockEntry -> ShowS Source # show :: TimeclockEntry -> String Source # showList :: [TimeclockEntry] -> ShowS Source #
Generic TimeclockEntry Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TimeclockEntry :: Type -> Type Source # Methods from :: TimeclockEntry -> Rep TimeclockEntry x Source # to :: Rep TimeclockEntry x -> TimeclockEntry Source #
NFData TimeclockEntry Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: TimeclockEntry -> () Source #
type Rep TimeclockEntry Source # |

Instance details

Defined in Hledger.Data.Types

type Rep TimeclockEntry = D1 (MetaData "TimeclockEntry" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "TimeclockEntry" PrefixI True) ((S1 (MetaSel (Just "tlsourcepos") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 GenericSourcePos) :*: S1 (MetaSel (Just "tlcode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 TimeclockCode)) :*: (S1 (MetaSel (Just "tldatetime") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 LocalTime) :*: (S1 (MetaSel (Just "tlaccount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AccountName) :*: S1 (MetaSel (Just "tldescription") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))))

data MarketPrice Source #

Constructors

MarketPrice |

Fields

- mpdate :: Day
- mpcommodity :: CommoditySymbol
- mpamount :: Amount

Instances

Eq MarketPrice Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: MarketPrice -> MarketPrice -> Bool Source # (/=) :: MarketPrice -> MarketPrice -> Bool Source #
Data MarketPrice Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MarketPrice -> c MarketPrice Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MarketPrice Source #

toConstr :: MarketPrice -> Constr Source #

dataTypeOf :: MarketPrice -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MarketPrice) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MarketPrice) Source #

gmapT :: (forall b. Data b => b -> b) -> MarketPrice -> MarketPrice Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MarketPrice -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MarketPrice -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> MarketPrice -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MarketPrice -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MarketPrice -> m MarketPrice Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MarketPrice -> m MarketPrice Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MarketPrice -> m MarketPrice Source #

Ord MarketPrice Source # |

Instance details

Defined in Hledger.Data.Types

Methods

compare :: MarketPrice -> MarketPrice -> Ordering Source #

(<) :: MarketPrice -> MarketPrice -> Bool Source #

(<=) :: MarketPrice -> MarketPrice -> Bool Source #

(>) :: MarketPrice -> MarketPrice -> Bool Source #

(>=) :: MarketPrice -> MarketPrice -> Bool Source #

max :: MarketPrice -> MarketPrice -> MarketPrice Source #

min :: MarketPrice -> MarketPrice -> MarketPrice Source #

Show MarketPrice Source # |
Instance details Defined in Hledger.Data.Amount Methods showsPrec :: Int -> MarketPrice -> ShowS Source # show :: MarketPrice -> String Source # showList :: [MarketPrice] -> ShowS Source #
Generic MarketPrice Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep MarketPrice :: Type -> Type Source # Methods from :: MarketPrice -> Rep MarketPrice x Source # to :: Rep MarketPrice x -> MarketPrice Source #
NFData MarketPrice Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: MarketPrice -> () Source #
type Rep MarketPrice Source # |

Instance details

Defined in Hledger.Data.Types

type Rep MarketPrice = D1 (MetaData "MarketPrice" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "MarketPrice" PrefixI True) (S1 (MetaSel (Just "mpdate") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Day) :*: (S1 (MetaSel (Just "mpcommodity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CommoditySymbol) :*: S1 (MetaSel (Just "mpamount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Amount))))

data Journal Source #

A Journal, containing transactions and various other things. The basic data model for hledger.

This is used during parsing (as the type alias ParsedJournal), and then finalised/validated for use as a Journal. Some extra parsing-related fields are included for convenience, at least for now. In a ParsedJournal these are updated as parsing proceeds, in a Journal they represent the final state at end of parsing (used eg by the add command).

Constructors

Journal |

Fields

- jparsedefaultyear :: Maybe Year

  the current default year, specified by the most recent Y directive (or current date)

- jparsedefaultcommodity :: Maybe (CommoditySymbol, AmountStyle)

  the current default commodity and its format, specified by the most recent D directive

- jparseparentaccounts :: [AccountName]

  the current stack of parent account names, specified by apply account directives

- jparsealiases :: [AccountAlias]

  the current account name aliases in effect, specified by alias directives (& options ?) ,jparsetransactioncount :: Integer -- ^ the current count of transactions parsed so far (only journal format txns, currently)

- jparsetimeclockentries :: [TimeclockEntry]

  timeclock sessions which have not been clocked out

- jincludefilestack :: [FilePath]
- jdeclaredaccounts :: [AccountName]

  Accounts declared by account directives, in parse order (after journal finalisation)

- jdeclaredaccounttypes :: Map AccountType [AccountName]

  Accounts whose type has been declared in account directives (usually 5 top-level accounts)

- jcommodities :: Map CommoditySymbol Commodity

  commodities and formats declared by commodity directives

- jinferredcommodities :: Map CommoditySymbol AmountStyle

  commodities and formats inferred from journal amounts TODO misnamed - jusedstyles

- jmarketprices :: [MarketPrice]
- jtxnmodifiers :: [TransactionModifier]
- jperiodictxns :: [PeriodicTransaction]
- jtxns :: [Transaction]
- jfinalcommentlines :: Text

  any final trailing comments in the (main) journal file

- jfiles :: [(FilePath, Text)]

  the file path and raw text of the main and any included journal files. The main file is first, followed by any included files in the order encountered.

- jlastreadtime :: ClockTime

  when this journal was last read from its file(s)

Instances

Eq Journal Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: Journal -> Journal -> Bool Source # (/=) :: Journal -> Journal -> Bool Source #
Data Journal Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Journal -> c Journal Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Journal Source #

toConstr :: Journal -> Constr Source #

dataTypeOf :: Journal -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Journal) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Journal) Source #

gmapT :: (forall b. Data b => b -> b) -> Journal -> Journal Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Journal -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Journal -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Journal -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Journal -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Journal -> m Journal Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Journal -> m Journal Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Journal -> m Journal Source #

Show Journal Source # |
Instance details Defined in Hledger.Data.Journal Methods showsPrec :: Int -> Journal -> ShowS Source # show :: Journal -> String Source # showList :: [Journal] -> ShowS Source #
Generic Journal Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Journal :: Type -> Type Source # Methods from :: Journal -> Rep Journal x Source # to :: Rep Journal x -> Journal Source #
Semigroup Journal Source # |
Instance details Defined in Hledger.Data.Journal Methods (<>) :: Journal -> Journal -> Journal Source # sconcat :: NonEmpty Journal -> Journal Source # stimes :: Integral b => b -> Journal -> Journal Source #
Monoid Journal Source # |
Instance details Defined in Hledger.Data.Journal Methods mempty :: Journal Source # mappend :: Journal -> Journal -> Journal Source # mconcat :: [Journal] -> Journal Source #
NFData Journal Source # |
Instance details Defined in Hledger.Data.Types Methods rnf :: Journal -> () Source #
type Rep Journal Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Journal = D1 (MetaData "Journal" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Journal" PrefixI True) ((((S1 (MetaSel (Just "jparsedefaultyear") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Year)) :*: S1 (MetaSel (Just "jparsedefaultcommodity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (CommoditySymbol, AmountStyle)))) :*: (S1 (MetaSel (Just "jparseparentaccounts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AccountName]) :*: S1 (MetaSel (Just "jparsealiases") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AccountAlias]))) :*: ((S1 (MetaSel (Just "jparsetimeclockentries") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TimeclockEntry]) :*: S1 (MetaSel (Just "jincludefilestack") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [FilePath])) :*: (S1 (MetaSel (Just "jdeclaredaccounts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [AccountName]) :*: S1 (MetaSel (Just "jdeclaredaccounttypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map AccountType [AccountName]))))) :*: (((S1 (MetaSel (Just "jcommodities") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map CommoditySymbol Commodity)) :*: S1 (MetaSel (Just "jinferredcommodities") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map CommoditySymbol AmountStyle))) :*: (S1 (MetaSel (Just "jmarketprices") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [MarketPrice]) :*: S1 (MetaSel (Just "jtxnmodifiers") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TransactionModifier]))) :*: ((S1 (MetaSel (Just "jperiodictxns") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PeriodicTransaction]) :*: S1 (MetaSel (Just "jtxns") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Transaction])) :*: (S1 (MetaSel (Just "jfinalcommentlines") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "jfiles") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(FilePath, Text)]) :*: S1 (MetaSel (Just "jlastreadtime") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ClockTime)))))))

type ParsedJournal = Journal Source #

A journal in the process of being parsed, not yet finalised. The data is partial, and list fields are in reverse order.

type StorageFormat = String Source #

The id of a data format understood by hledger, eg `journal` or `csv`. The --output-format option selects one of these for output.

data Account Source #

An account, with name, balances and links to parent/subaccounts which let you walk up or down the account tree.

Constructors

Account |

Fields

- aname :: AccountName

  this account's full name

- adeclarationorder :: Maybe Int

  the relative position of this account's account directive, if any. Normally a natural number.

- aebalance :: MixedAmount

  this account's balance, excluding subaccounts

- asubs :: [Account]

  sub-accounts

- anumpostings :: Int

  number of postings to this account derived from the above :

- aibalance :: MixedAmount

  this account's balance, including subaccounts

- aparent :: Maybe Account

  parent account

- aboring :: Bool

  used in the accounts report to label elidable parents

Instances

Eq Account Source # |
Instance details Defined in Hledger.Data.Account Methods (==) :: Account -> Account -> Bool Source # (/=) :: Account -> Account -> Bool Source #
Data Account Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Account -> c Account Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Account Source #

toConstr :: Account -> Constr Source #

dataTypeOf :: Account -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Account) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Account) Source #

gmapT :: (forall b. Data b => b -> b) -> Account -> Account Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Account -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Account -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Account -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Account -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Account -> m Account Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Account -> m Account Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Account -> m Account Source #

Show Account Source # |
Instance details Defined in Hledger.Data.Account Methods showsPrec :: Int -> Account -> ShowS Source # show :: Account -> String Source # showList :: [Account] -> ShowS Source #
Generic Account Source # |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Account :: Type -> Type Source # Methods from :: Account -> Rep Account x Source # to :: Rep Account x -> Account Source #
type Rep Account Source # |

Instance details

Defined in Hledger.Data.Types

type Rep Account = D1 (MetaData "Account" "Hledger.Data.Types" "hledger-lib-1.12-7TBCcCWhitpEoHQnZzmMzj" False) (C1 (MetaCons "Account" PrefixI True) (((S1 (MetaSel (Just "aname") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AccountName) :*: S1 (MetaSel (Just "adeclarationorder") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Int))) :*: (S1 (MetaSel (Just "aebalance") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MixedAmount) :*: S1 (MetaSel (Just "asubs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Account]))) :*: ((S1 (MetaSel (Just "anumpostings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: S1 (MetaSel (Just "aibalance") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MixedAmount)) :*: (S1 (MetaSel (Just "aparent") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Account)) :*: S1 (MetaSel (Just "aboring") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))))

data NormalSign Source #

Whether an account's balance is normally a positive number (in accounting terms, a debit balance) or a negative number (credit balance). Assets and expenses are normally positive (debit), while liabilities, equity and income are normally negative (credit). https://en.wikipedia.org/wiki/Normal_balance

Constructors

NormallyPositive |
NormallyNegative |

Instances

Eq NormalSign Source # |
Instance details Defined in Hledger.Data.Types Methods (==) :: NormalSign -> NormalSign -> Bool Source # (/=) :: NormalSign -> NormalSign -> Bool Source #
Data NormalSign Source # |

Instance details

Defined in Hledger.Data.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NormalSign -> c NormalSign Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NormalSign Source #

toConstr :: NormalSign -> Constr Source #

dataTypeOf :: NormalSign -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NormalSign) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NormalSign) Source #

gmapT :: (forall b. Data b => b -> b) -> NormalSign -> NormalSign Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NormalSign -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NormalSign -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> NormalSign -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NormalSign -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NormalSign -> m NormalSign Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NormalSign -> m NormalSign Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NormalSign -> m NormalSign Source #

Show NormalSign Source # |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> NormalSign -> ShowS Source # show :: NormalSign -> String Source # showList :: [NormalSign] -> ShowS Source #

data Ledger Source #

A Ledger has the journal it derives from, and the accounts derived from that. Accounts are accessible both list-wise and tree-wise, since each one knows its parent and subs; the first account is the root of the tree and always exists.

Constructors

Ledger |

Fields

- ljournal :: Journal
- laccounts :: [Account]

Instances

Show Ledger Source # |
Instance details Defined in Hledger.Data.Ledger Methods showsPrec :: Int -> Ledger -> ShowS Source # show :: Ledger -> String Source # showList :: [Ledger] -> ShowS Source #

# Orphan instances

Data ClockTime Source # |

Instance details

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClockTime -> c ClockTime Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClockTime Source #

toConstr :: ClockTime -> Constr Source #

dataTypeOf :: ClockTime -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClockTime) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClockTime) Source #

gmapT :: (forall b. Data b => b -> b) -> ClockTime -> ClockTime Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClockTime -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClockTime -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ClockTime -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ClockTime -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClockTime -> m ClockTime Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClockTime -> m ClockTime Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClockTime -> m ClockTime Source #

Generic ClockTime Source # |
Instance details Associated Types type Rep ClockTime :: Type -> Type Source # Methods from :: ClockTime -> Rep ClockTime x Source # to :: Rep ClockTime x -> ClockTime Source #
ToMarkup Quantity Source # |
Instance details Methods toMarkup :: Quantity -> Markup Source # preEscapedToMarkup :: Quantity -> Markup Source #
NFData ClockTime Source # |
Instance details Methods rnf :: ClockTime -> () Source #
Data (DecimalRaw Integer) Source # |

Instance details

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DecimalRaw Integer -> c (DecimalRaw Integer) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (DecimalRaw Integer) Source #

toConstr :: DecimalRaw Integer -> Constr Source #

dataTypeOf :: DecimalRaw Integer -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (DecimalRaw Integer)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (DecimalRaw Integer)) Source #

gmapT :: (forall b. Data b => b -> b) -> DecimalRaw Integer -> DecimalRaw Integer Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DecimalRaw Integer -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DecimalRaw Integer -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> DecimalRaw Integer -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DecimalRaw Integer -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DecimalRaw Integer -> m (DecimalRaw Integer) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DecimalRaw Integer -> m (DecimalRaw Integer) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DecimalRaw Integer -> m (DecimalRaw Integer) Source #