Safe Haskell | None |
---|---|
Language | Haskell2010 |
Hledger.Data.Types
Contents
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
- 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
- data AccountAlias
- data Side
- type Quantity = Decimal
- data Price
- 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
- aismultiplier :: Bool
- astyle :: AmountStyle
- aprice :: Price
- newtype MixedAmount = Mixed [Amount]
- data PostingType
- type TagName = Text
- type TagValue = Text
- type Tag = (TagName, TagValue)
- type DateTag = (TagName, Day)
- data Status
- data BalanceAssertion = BalanceAssertion {
- baamount :: Amount
- batotal :: Bool
- bainclusive :: 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
- poriginal :: Maybe Posting
- data GenericSourcePos
- = GenericSourcePos FilePath Int Int
- | JournalSourcePos FilePath (Int, Int)
- data Transaction = Transaction {
- tindex :: Integer
- tprecedingcomment :: Text
- tsourcepos :: GenericSourcePos
- tdate :: Day
- tdate2 :: Maybe Day
- tstatus :: Status
- tcode :: Text
- tdescription :: Text
- tcomment :: Text
- ttags :: [Tag]
- tpostings :: [Posting]
- 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, AccountDeclarationInfo)]
- 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 AccountDeclarationInfo = AccountDeclarationInfo {
- adicomment :: Text
- aditags :: [Tag]
- adideclarationorder :: Int
- nullaccountdeclarationinfo :: AccountDeclarationInfo
- data Account = Account {
- aname :: AccountName
- adeclarationinfo :: Maybe AccountDeclarationInfo
- asubs :: [Account]
- aparent :: Maybe Account
- aboring :: Bool
- anumpostings :: Int
- aebalance :: MixedAmount
- aibalance :: MixedAmount
- data NormalSign
- data Ledger = Ledger {}
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.
Constructors
PrimaryDate | |
SecondaryDate |
Constructors
DateSpan (Maybe Day) (Maybe Day) |
Instances
Eq DateSpan Source # | |
Data DateSpan Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DateSpan toConstr :: DateSpan -> Constr dataTypeOf :: DateSpan -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DateSpan) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DateSpan) gmapT :: (forall b. Data b => b -> b) -> DateSpan -> DateSpan gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DateSpan -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DateSpan -> r gmapQ :: (forall d. Data d => d -> u) -> DateSpan -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DateSpan -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DateSpan -> m DateSpan gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DateSpan -> m DateSpan gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DateSpan -> m DateSpan | |
Ord DateSpan Source # | |
Defined in Hledger.Data.Types | |
Show DateSpan | |
Generic DateSpan Source # | |
NFData DateSpan Source # | |
Defined in Hledger.Data.Types | |
Default DateSpan Source # | |
Defined in Hledger.Data.Types | |
type Rep DateSpan Source # | |
Defined in Hledger.Data.Types type Rep DateSpan = D1 (MetaData "DateSpan" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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)))) |
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 # | |
Data Period Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Period dataTypeOf :: Period -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Period) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Period) gmapT :: (forall b. Data b => b -> b) -> Period -> Period gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Period -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Period -> r gmapQ :: (forall d. Data d => d -> u) -> Period -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Period -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Period -> m Period gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Period -> m Period gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Period -> m Period | |
Ord Period Source # | |
Show Period Source # | |
Generic Period Source # | |
Default Period Source # | |
Defined in Hledger.Data.Types | |
type Rep Period Source # | |
Defined in Hledger.Data.Types type Rep Period = D1 (MetaData "Period" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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))))) |
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 # | |
Data Interval Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Interval toConstr :: Interval -> Constr dataTypeOf :: Interval -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Interval) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Interval) gmapT :: (forall b. Data b => b -> b) -> Interval -> Interval gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Interval -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Interval -> r gmapQ :: (forall d. Data d => d -> u) -> Interval -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Interval -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Interval -> m Interval gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Interval -> m Interval gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Interval -> m Interval | |
Ord Interval Source # | |
Defined in Hledger.Data.Types | |
Show Interval Source # | |
Generic Interval Source # | |
NFData Interval Source # | |
Defined in Hledger.Data.Types | |
Default Interval Source # | |
Defined in Hledger.Data.Types | |
type Rep Interval Source # | |
Defined in Hledger.Data.Types type Rep Interval = D1 (MetaData "Interval" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 #
Instances
Eq AccountType Source # | |
Defined in Hledger.Data.Types | |
Data AccountType Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AccountType toConstr :: AccountType -> Constr dataTypeOf :: AccountType -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AccountType) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AccountType) gmapT :: (forall b. Data b => b -> b) -> AccountType -> AccountType gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AccountType -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AccountType -> r gmapQ :: (forall d. Data d => d -> u) -> AccountType -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> AccountType -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> AccountType -> m AccountType gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountType -> m AccountType gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountType -> m AccountType | |
Ord AccountType Source # | |
Defined in Hledger.Data.Types Methods compare :: AccountType -> AccountType -> Ordering (<) :: AccountType -> AccountType -> Bool (<=) :: AccountType -> AccountType -> Bool (>) :: AccountType -> AccountType -> Bool (>=) :: AccountType -> AccountType -> Bool max :: AccountType -> AccountType -> AccountType min :: AccountType -> AccountType -> AccountType | |
Show AccountType Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountType -> ShowS show :: AccountType -> String showList :: [AccountType] -> ShowS | |
Generic AccountType Source # | |
Defined in Hledger.Data.Types Associated Types type Rep AccountType :: Type -> Type | |
NFData AccountType Source # | |
Defined in Hledger.Data.Types Methods rnf :: AccountType -> () | |
type Rep AccountType Source # | |
Defined in Hledger.Data.Types type Rep AccountType = D1 (MetaData "AccountType" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 # | |
Defined in Hledger.Data.Types | |
Data AccountAlias Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AccountAlias toConstr :: AccountAlias -> Constr dataTypeOf :: AccountAlias -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AccountAlias) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AccountAlias) gmapT :: (forall b. Data b => b -> b) -> AccountAlias -> AccountAlias gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AccountAlias -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AccountAlias -> r gmapQ :: (forall d. Data d => d -> u) -> AccountAlias -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> AccountAlias -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> AccountAlias -> m AccountAlias gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountAlias -> m AccountAlias gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountAlias -> m AccountAlias | |
Ord AccountAlias Source # | |
Defined in Hledger.Data.Types Methods compare :: AccountAlias -> AccountAlias -> Ordering (<) :: AccountAlias -> AccountAlias -> Bool (<=) :: AccountAlias -> AccountAlias -> Bool (>) :: AccountAlias -> AccountAlias -> Bool (>=) :: AccountAlias -> AccountAlias -> Bool max :: AccountAlias -> AccountAlias -> AccountAlias min :: AccountAlias -> AccountAlias -> AccountAlias | |
Read AccountAlias Source # | |
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AccountAlias readList :: ReadS [AccountAlias] readPrec :: ReadPrec AccountAlias readListPrec :: ReadPrec [AccountAlias] | |
Show AccountAlias Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountAlias -> ShowS show :: AccountAlias -> String showList :: [AccountAlias] -> ShowS | |
Generic AccountAlias Source # | |
Defined in Hledger.Data.Types Associated Types type Rep AccountAlias :: Type -> Type | |
NFData AccountAlias Source # | |
Defined in Hledger.Data.Types Methods rnf :: AccountAlias -> () | |
type Rep AccountAlias Source # | |
Defined in Hledger.Data.Types type Rep AccountAlias = D1 (MetaData "AccountAlias" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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))) |
Instances
Eq Side Source # | |
Data Side Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Side dataTypeOf :: Side -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Side) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Side) gmapT :: (forall b. Data b => b -> b) -> Side -> Side gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Side -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Side -> r gmapQ :: (forall d. Data d => d -> u) -> Side -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Side -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Side -> m Side gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Side -> m Side gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Side -> m Side | |
Ord Side Source # | |
Read Side Source # | |
Defined in Hledger.Data.Types | |
Show Side Source # | |
Generic Side Source # | |
NFData Side Source # | |
Defined in Hledger.Data.Types | |
type Rep Side Source # | |
Defined in Hledger.Data.Types type Rep Side = D1 (MetaData "Side" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" False) (C1 (MetaCons "L" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "R" PrefixI False) (U1 :: Type -> Type)) |
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 # | |
Data Price Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Price dataTypeOf :: Price -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Price) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Price) gmapT :: (forall b. Data b => b -> b) -> Price -> Price gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Price -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Price -> r gmapQ :: (forall d. Data d => d -> u) -> Price -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Price -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Price -> m Price gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Price -> m Price gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Price -> m Price | |
Ord Price Source # | |
Show Price Source # | |
Generic Price Source # | |
NFData Price Source # | |
Defined in Hledger.Data.Types | |
type Rep Price Source # | |
Defined in Hledger.Data.Types type Rep Price = D1 (MetaData "Price" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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
|
Instances
Eq AmountStyle Source # | |
Defined in Hledger.Data.Types | |
Data AmountStyle Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AmountStyle toConstr :: AmountStyle -> Constr dataTypeOf :: AmountStyle -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AmountStyle) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AmountStyle) gmapT :: (forall b. Data b => b -> b) -> AmountStyle -> AmountStyle gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AmountStyle -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AmountStyle -> r gmapQ :: (forall d. Data d => d -> u) -> AmountStyle -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> AmountStyle -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> AmountStyle -> m AmountStyle gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AmountStyle -> m AmountStyle gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AmountStyle -> m AmountStyle | |
Ord AmountStyle Source # | |
Defined in Hledger.Data.Types Methods compare :: AmountStyle -> AmountStyle -> Ordering (<) :: AmountStyle -> AmountStyle -> Bool (<=) :: AmountStyle -> AmountStyle -> Bool (>) :: AmountStyle -> AmountStyle -> Bool (>=) :: AmountStyle -> AmountStyle -> Bool max :: AmountStyle -> AmountStyle -> AmountStyle min :: AmountStyle -> AmountStyle -> AmountStyle | |
Read AmountStyle Source # | |
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AmountStyle readList :: ReadS [AmountStyle] readPrec :: ReadPrec AmountStyle readListPrec :: ReadPrec [AmountStyle] | |
Show AmountStyle Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountStyle -> ShowS show :: AmountStyle -> String showList :: [AmountStyle] -> ShowS | |
Generic AmountStyle Source # | |
Defined in Hledger.Data.Types Associated Types type Rep AmountStyle :: Type -> Type | |
NFData AmountStyle Source # | |
Defined in Hledger.Data.Types Methods rnf :: AmountStyle -> () | |
type Rep AmountStyle Source # | |
Defined in Hledger.Data.Types type Rep AmountStyle = D1 (MetaData "AmountStyle" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 # | |
Defined in Hledger.Data.Types Methods (==) :: DigitGroupStyle -> DigitGroupStyle -> Bool (/=) :: DigitGroupStyle -> DigitGroupStyle -> Bool | |
Data DigitGroupStyle Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DigitGroupStyle toConstr :: DigitGroupStyle -> Constr dataTypeOf :: DigitGroupStyle -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DigitGroupStyle) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DigitGroupStyle) gmapT :: (forall b. Data b => b -> b) -> DigitGroupStyle -> DigitGroupStyle gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DigitGroupStyle -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DigitGroupStyle -> r gmapQ :: (forall d. Data d => d -> u) -> DigitGroupStyle -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DigitGroupStyle -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DigitGroupStyle -> m DigitGroupStyle gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DigitGroupStyle -> m DigitGroupStyle gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DigitGroupStyle -> m DigitGroupStyle | |
Ord DigitGroupStyle Source # | |
Defined in Hledger.Data.Types Methods compare :: DigitGroupStyle -> DigitGroupStyle -> Ordering (<) :: DigitGroupStyle -> DigitGroupStyle -> Bool (<=) :: DigitGroupStyle -> DigitGroupStyle -> Bool (>) :: DigitGroupStyle -> DigitGroupStyle -> Bool (>=) :: DigitGroupStyle -> DigitGroupStyle -> Bool max :: DigitGroupStyle -> DigitGroupStyle -> DigitGroupStyle min :: DigitGroupStyle -> DigitGroupStyle -> DigitGroupStyle | |
Read DigitGroupStyle Source # | |
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS DigitGroupStyle readList :: ReadS [DigitGroupStyle] readPrec :: ReadPrec DigitGroupStyle readListPrec :: ReadPrec [DigitGroupStyle] | |
Show DigitGroupStyle Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> DigitGroupStyle -> ShowS show :: DigitGroupStyle -> String showList :: [DigitGroupStyle] -> ShowS | |
Generic DigitGroupStyle Source # | |
Defined in Hledger.Data.Types Associated Types type Rep DigitGroupStyle :: Type -> Type Methods from :: DigitGroupStyle -> Rep DigitGroupStyle x to :: Rep DigitGroupStyle x -> DigitGroupStyle | |
NFData DigitGroupStyle Source # | |
Defined in Hledger.Data.Types Methods rnf :: DigitGroupStyle -> () | |
type Rep DigitGroupStyle Source # | |
Defined in Hledger.Data.Types type Rep DigitGroupStyle = D1 (MetaData "DigitGroupStyle" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 #
Constructors
Commodity | |
Fields
|
Instances
Eq Commodity Source # | |
Data Commodity Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Commodity toConstr :: Commodity -> Constr dataTypeOf :: Commodity -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Commodity) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Commodity) gmapT :: (forall b. Data b => b -> b) -> Commodity -> Commodity gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Commodity -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Commodity -> r gmapQ :: (forall d. Data d => d -> u) -> Commodity -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Commodity -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Commodity -> m Commodity gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Commodity -> m Commodity gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Commodity -> m Commodity | |
Show Commodity Source # | |
Generic Commodity Source # | |
NFData Commodity Source # | |
Defined in Hledger.Data.Types | |
type Rep Commodity Source # | |
Defined in Hledger.Data.Types type Rep Commodity = D1 (MetaData "Commodity" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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)))) |
Constructors
Amount | |
Fields
|
Instances
Eq Amount Source # | |
Data Amount Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Amount dataTypeOf :: Amount -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Amount) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Amount) gmapT :: (forall b. Data b => b -> b) -> Amount -> Amount gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Amount -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Amount -> r gmapQ :: (forall d. Data d => d -> u) -> Amount -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Amount -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Amount -> m Amount gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Amount -> m Amount gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Amount -> m Amount | |
Num Amount | |
Ord Amount Source # | |
Show Amount Source # | |
Generic Amount Source # | |
NFData Amount Source # | |
Defined in Hledger.Data.Types | |
type Rep Amount Source # | |
Defined in Hledger.Data.Types type Rep Amount = D1 (MetaData "Amount" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 "aismultiplier") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool) :*: (S1 (MetaSel (Just "astyle") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AmountStyle) :*: S1 (MetaSel (Just "aprice") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Price))))) |
newtype MixedAmount Source #
Instances
Eq MixedAmount Source # | |
Defined in Hledger.Data.Types | |
Data MixedAmount Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MixedAmount toConstr :: MixedAmount -> Constr dataTypeOf :: MixedAmount -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MixedAmount) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MixedAmount) gmapT :: (forall b. Data b => b -> b) -> MixedAmount -> MixedAmount gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MixedAmount -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MixedAmount -> r gmapQ :: (forall d. Data d => d -> u) -> MixedAmount -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MixedAmount -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MixedAmount -> m MixedAmount gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MixedAmount -> m MixedAmount gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MixedAmount -> m MixedAmount | |
Num MixedAmount | |
Defined in Hledger.Data.Amount Methods (+) :: MixedAmount -> MixedAmount -> MixedAmount (-) :: MixedAmount -> MixedAmount -> MixedAmount (*) :: MixedAmount -> MixedAmount -> MixedAmount negate :: MixedAmount -> MixedAmount abs :: MixedAmount -> MixedAmount signum :: MixedAmount -> MixedAmount fromInteger :: Integer -> MixedAmount | |
Ord MixedAmount Source # | |
Defined in Hledger.Data.Types Methods compare :: MixedAmount -> MixedAmount -> Ordering (<) :: MixedAmount -> MixedAmount -> Bool (<=) :: MixedAmount -> MixedAmount -> Bool (>) :: MixedAmount -> MixedAmount -> Bool (>=) :: MixedAmount -> MixedAmount -> Bool max :: MixedAmount -> MixedAmount -> MixedAmount min :: MixedAmount -> MixedAmount -> MixedAmount | |
Show MixedAmount Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> MixedAmount -> ShowS show :: MixedAmount -> String showList :: [MixedAmount] -> ShowS | |
Generic MixedAmount Source # | |
Defined in Hledger.Data.Types Associated Types type Rep MixedAmount :: Type -> Type | |
NFData MixedAmount Source # | |
Defined in Hledger.Data.Types Methods rnf :: MixedAmount -> () | |
type Rep MixedAmount Source # | |
Defined in Hledger.Data.Types type Rep MixedAmount = D1 (MetaData "MixedAmount" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 # | |
Defined in Hledger.Data.Types | |
Data PostingType Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PostingType toConstr :: PostingType -> Constr dataTypeOf :: PostingType -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PostingType) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PostingType) gmapT :: (forall b. Data b => b -> b) -> PostingType -> PostingType gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PostingType -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PostingType -> r gmapQ :: (forall d. Data d => d -> u) -> PostingType -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> PostingType -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> PostingType -> m PostingType gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PostingType -> m PostingType gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PostingType -> m PostingType | |
Show PostingType Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> PostingType -> ShowS show :: PostingType -> String showList :: [PostingType] -> ShowS | |
Generic PostingType Source # | |
Defined in Hledger.Data.Types Associated Types type Rep PostingType :: Type -> Type | |
NFData PostingType Source # | |
Defined in Hledger.Data.Types Methods rnf :: PostingType -> () | |
type Rep PostingType Source # | |
Defined in Hledger.Data.Types type Rep PostingType = D1 (MetaData "PostingType" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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))) |
The status of a transaction or posting, recorded with a status mark (nothing, !, or *). What these mean is ultimately user defined.
Instances
Bounded Status Source # | |
Defined in Hledger.Data.Types | |
Enum Status Source # | |
Defined in Hledger.Data.Types | |
Eq Status Source # | |
Data Status Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Status dataTypeOf :: Status -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Status) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Status) gmapT :: (forall b. Data b => b -> b) -> Status -> Status gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r gmapQ :: (forall d. Data d => d -> u) -> Status -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Status -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Status -> m Status gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status | |
Ord Status Source # | |
Show Status Source # | |
Generic Status Source # | |
NFData Status Source # | |
Defined in Hledger.Data.Types | |
type Rep Status Source # | |
Defined in Hledger.Data.Types type Rep Status = D1 (MetaData "Status" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 #
A balance assertion is a declaration about an account's expected balance at a certain point (posting date and parse order). They provide additional error checking and readability to a journal file.
The BalanceAssertion
type is also used to represent balance assignments,
which instruct hledger what an account's balance should become at a certain
point.
Different kinds of balance assertions are discussed eg on #290. Variables include:
- which postings are to be summed (realvirtual; unmarkedpendingcleared; this accountthis account including subs)
- which commodities within the balance are to be checked
- whether to do a partial or a total check (disallowing other commodities)
I suspect we want:
- partial, subaccount-exclusive, Ledger-compatible assertions. Because they're what we've always had, and removing them would break some journals unnecessarily. Implemented with = syntax.
- total assertions. Because otherwise assertions are a bit leaky. Implemented with == syntax.
- subaccount-inclusive assertions. Because that's something folks need. Not implemented.
- flexible assertions allowing custom criteria (perhaps arbitrary queries). Because power users have diverse needs and want to try out different schemes (assert cleared balances, assert balance from real or virtual postings, etc.). Not implemented.
- multicommodity assertions, asserting the balance of multiple commodities at once. Not implemented, requires #934.
Constructors
BalanceAssertion | |
Fields
|
Instances
Eq BalanceAssertion Source # | |
Defined in Hledger.Data.Types Methods (==) :: BalanceAssertion -> BalanceAssertion -> Bool (/=) :: BalanceAssertion -> BalanceAssertion -> Bool | |
Data BalanceAssertion Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BalanceAssertion toConstr :: BalanceAssertion -> Constr dataTypeOf :: BalanceAssertion -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BalanceAssertion) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BalanceAssertion) gmapT :: (forall b. Data b => b -> b) -> BalanceAssertion -> BalanceAssertion gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BalanceAssertion -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BalanceAssertion -> r gmapQ :: (forall d. Data d => d -> u) -> BalanceAssertion -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> BalanceAssertion -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> BalanceAssertion -> m BalanceAssertion gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BalanceAssertion -> m BalanceAssertion gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BalanceAssertion -> m BalanceAssertion | |
Show BalanceAssertion Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> BalanceAssertion -> ShowS show :: BalanceAssertion -> String showList :: [BalanceAssertion] -> ShowS | |
Generic BalanceAssertion Source # | |
Defined in Hledger.Data.Types Associated Types type Rep BalanceAssertion :: Type -> Type Methods from :: BalanceAssertion -> Rep BalanceAssertion x to :: Rep BalanceAssertion x -> BalanceAssertion | |
NFData BalanceAssertion Source # | |
Defined in Hledger.Data.Types Methods rnf :: BalanceAssertion -> () | |
type Rep BalanceAssertion Source # | |
Defined in Hledger.Data.Types type Rep BalanceAssertion = D1 (MetaData "BalanceAssertion" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" False) (C1 (MetaCons "BalanceAssertion" PrefixI True) ((S1 (MetaSel (Just "baamount") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Amount) :*: S1 (MetaSel (Just "batotal") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) :*: (S1 (MetaSel (Just "bainclusive") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool) :*: S1 (MetaSel (Just "baposition") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 GenericSourcePos)))) |
Constructors
Posting | |
Fields
|
Instances
Eq Posting Source # | |
Data Posting Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Posting dataTypeOf :: Posting -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Posting) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Posting) gmapT :: (forall b. Data b => b -> b) -> Posting -> Posting gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Posting -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Posting -> r gmapQ :: (forall d. Data d => d -> u) -> Posting -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Posting -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Posting -> m Posting gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Posting -> m Posting gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Posting -> m Posting | |
Show Posting Source # | Posting's show instance elides the parent transaction so as not to recurse forever. |
Generic Posting Source # | |
NFData Posting Source # | |
Defined in Hledger.Data.Types | |
type Rep Posting Source # | |
Defined in Hledger.Data.Types type Rep Posting = D1 (MetaData "Posting" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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 "poriginal") 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 # | |
Defined in Hledger.Data.Types Methods (==) :: GenericSourcePos -> GenericSourcePos -> Bool (/=) :: GenericSourcePos -> GenericSourcePos -> Bool | |
Data GenericSourcePos Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GenericSourcePos toConstr :: GenericSourcePos -> Constr dataTypeOf :: GenericSourcePos -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GenericSourcePos) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GenericSourcePos) gmapT :: (forall b. Data b => b -> b) -> GenericSourcePos -> GenericSourcePos gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GenericSourcePos -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GenericSourcePos -> r gmapQ :: (forall d. Data d => d -> u) -> GenericSourcePos -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> GenericSourcePos -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> GenericSourcePos -> m GenericSourcePos gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GenericSourcePos -> m GenericSourcePos gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GenericSourcePos -> m GenericSourcePos | |
Ord GenericSourcePos Source # | |
Defined in Hledger.Data.Types Methods compare :: GenericSourcePos -> GenericSourcePos -> Ordering (<) :: GenericSourcePos -> GenericSourcePos -> Bool (<=) :: GenericSourcePos -> GenericSourcePos -> Bool (>) :: GenericSourcePos -> GenericSourcePos -> Bool (>=) :: GenericSourcePos -> GenericSourcePos -> Bool max :: GenericSourcePos -> GenericSourcePos -> GenericSourcePos min :: GenericSourcePos -> GenericSourcePos -> GenericSourcePos | |
Read GenericSourcePos Source # | |
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS GenericSourcePos readList :: ReadS [GenericSourcePos] readPrec :: ReadPrec GenericSourcePos readListPrec :: ReadPrec [GenericSourcePos] | |
Show GenericSourcePos Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> GenericSourcePos -> ShowS show :: GenericSourcePos -> String showList :: [GenericSourcePos] -> ShowS | |
Generic GenericSourcePos Source # | |
Defined in Hledger.Data.Types Associated Types type Rep GenericSourcePos :: Type -> Type Methods from :: GenericSourcePos -> Rep GenericSourcePos x to :: Rep GenericSourcePos x -> GenericSourcePos | |
NFData GenericSourcePos Source # | |
Defined in Hledger.Data.Types Methods rnf :: GenericSourcePos -> () | |
type Rep GenericSourcePos Source # | |
Defined in Hledger.Data.Types type Rep GenericSourcePos = D1 (MetaData "GenericSourcePos" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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
|
Instances
Eq Transaction Source # | |
Defined in Hledger.Data.Types | |
Data Transaction Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Transaction toConstr :: Transaction -> Constr dataTypeOf :: Transaction -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Transaction) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Transaction) gmapT :: (forall b. Data b => b -> b) -> Transaction -> Transaction gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Transaction -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Transaction -> r gmapQ :: (forall d. Data d => d -> u) -> Transaction -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Transaction -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Transaction -> m Transaction gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Transaction -> m Transaction gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Transaction -> m Transaction | |
Show Transaction Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> Transaction -> ShowS show :: Transaction -> String showList :: [Transaction] -> ShowS | |
Generic Transaction Source # | |
Defined in Hledger.Data.Types Associated Types type Rep Transaction :: Type -> Type | |
NFData Transaction Source # | |
Defined in Hledger.Data.Types Methods rnf :: Transaction -> () | |
type Rep Transaction Source # | |
Defined in Hledger.Data.Types type Rep Transaction = D1 (MetaData "Transaction" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" False) (C1 (MetaCons "Transaction" PrefixI True) (((S1 (MetaSel (Just "tindex") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer) :*: S1 (MetaSel (Just "tprecedingcomment") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) :*: (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])))))) |
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
|
Instances
Eq TransactionModifier Source # | |
Defined in Hledger.Data.Types Methods (==) :: TransactionModifier -> TransactionModifier -> Bool (/=) :: TransactionModifier -> TransactionModifier -> Bool | |
Data TransactionModifier Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TransactionModifier toConstr :: TransactionModifier -> Constr dataTypeOf :: TransactionModifier -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TransactionModifier) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TransactionModifier) gmapT :: (forall b. Data b => b -> b) -> TransactionModifier -> TransactionModifier gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TransactionModifier -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TransactionModifier -> r gmapQ :: (forall d. Data d => d -> u) -> TransactionModifier -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> TransactionModifier -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> TransactionModifier -> m TransactionModifier gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TransactionModifier -> m TransactionModifier gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TransactionModifier -> m TransactionModifier | |
Show TransactionModifier Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> TransactionModifier -> ShowS show :: TransactionModifier -> String showList :: [TransactionModifier] -> ShowS | |
Generic TransactionModifier Source # | |
Defined in Hledger.Data.Types Associated Types type Rep TransactionModifier :: Type -> Type Methods from :: TransactionModifier -> Rep TransactionModifier x to :: Rep TransactionModifier x -> TransactionModifier | |
NFData TransactionModifier Source # | |
Defined in Hledger.Data.Types Methods rnf :: TransactionModifier -> () | |
type Rep TransactionModifier Source # | |
Defined in Hledger.Data.Types type Rep TransactionModifier = D1 (MetaData "TransactionModifier" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" False) (C1 (MetaCons "TransactionModifier" PrefixI True) (S1 (MetaSel (Just "tmquerytxt") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "tmpostingrules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [TMPostingRule]))) |
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 aismultiplier 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
|
Instances
Eq PeriodicTransaction Source # | |
Defined in Hledger.Data.Types Methods (==) :: PeriodicTransaction -> PeriodicTransaction -> Bool (/=) :: PeriodicTransaction -> PeriodicTransaction -> Bool | |
Data PeriodicTransaction Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PeriodicTransaction toConstr :: PeriodicTransaction -> Constr dataTypeOf :: PeriodicTransaction -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PeriodicTransaction) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PeriodicTransaction) gmapT :: (forall b. Data b => b -> b) -> PeriodicTransaction -> PeriodicTransaction gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PeriodicTransaction -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PeriodicTransaction -> r gmapQ :: (forall d. Data d => d -> u) -> PeriodicTransaction -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> PeriodicTransaction -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> PeriodicTransaction -> m PeriodicTransaction gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PeriodicTransaction -> m PeriodicTransaction gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PeriodicTransaction -> m PeriodicTransaction | |
Show PeriodicTransaction | |
Defined in Hledger.Data.PeriodicTransaction Methods showsPrec :: Int -> PeriodicTransaction -> ShowS show :: PeriodicTransaction -> String showList :: [PeriodicTransaction] -> ShowS | |
Generic PeriodicTransaction Source # | |
Defined in Hledger.Data.Types Associated Types type Rep PeriodicTransaction :: Type -> Type Methods from :: PeriodicTransaction -> Rep PeriodicTransaction x to :: Rep PeriodicTransaction x -> PeriodicTransaction | |
NFData PeriodicTransaction Source # | |
Defined in Hledger.Data.Types Methods rnf :: PeriodicTransaction -> () | |
type Rep PeriodicTransaction Source # | |
Defined in Hledger.Data.Types type Rep PeriodicTransaction = D1 (MetaData "PeriodicTransaction" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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])))))) |
data TimeclockCode Source #
Constructors
SetBalance | |
SetRequiredHours | |
In | |
Out | |
FinalOut |
Instances
Eq TimeclockCode Source # | |
Defined in Hledger.Data.Types | |
Data TimeclockCode Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeclockCode toConstr :: TimeclockCode -> Constr dataTypeOf :: TimeclockCode -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeclockCode) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeclockCode) gmapT :: (forall b. Data b => b -> b) -> TimeclockCode -> TimeclockCode gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockCode -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockCode -> r gmapQ :: (forall d. Data d => d -> u) -> TimeclockCode -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeclockCode -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeclockCode -> m TimeclockCode gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockCode -> m TimeclockCode gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockCode -> m TimeclockCode | |
Ord TimeclockCode Source # | |
Defined in Hledger.Data.Types Methods compare :: TimeclockCode -> TimeclockCode -> Ordering (<) :: TimeclockCode -> TimeclockCode -> Bool (<=) :: TimeclockCode -> TimeclockCode -> Bool (>) :: TimeclockCode -> TimeclockCode -> Bool (>=) :: TimeclockCode -> TimeclockCode -> Bool max :: TimeclockCode -> TimeclockCode -> TimeclockCode min :: TimeclockCode -> TimeclockCode -> TimeclockCode | |
Read TimeclockCode | |
Defined in Hledger.Data.Timeclock Methods readsPrec :: Int -> ReadS TimeclockCode readList :: ReadS [TimeclockCode] readPrec :: ReadPrec TimeclockCode readListPrec :: ReadPrec [TimeclockCode] | |
Show TimeclockCode | |
Defined in Hledger.Data.Timeclock Methods showsPrec :: Int -> TimeclockCode -> ShowS show :: TimeclockCode -> String showList :: [TimeclockCode] -> ShowS | |
Generic TimeclockCode Source # | |
Defined in Hledger.Data.Types Associated Types type Rep TimeclockCode :: Type -> Type | |
NFData TimeclockCode Source # | |
Defined in Hledger.Data.Types Methods rnf :: TimeclockCode -> () | |
type Rep TimeclockCode Source # | |
Defined in Hledger.Data.Types type Rep TimeclockCode = D1 (MetaData "TimeclockCode" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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
|
Instances
Eq TimeclockEntry Source # | |
Defined in Hledger.Data.Types Methods (==) :: TimeclockEntry -> TimeclockEntry -> Bool (/=) :: TimeclockEntry -> TimeclockEntry -> Bool | |
Data TimeclockEntry Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeclockEntry toConstr :: TimeclockEntry -> Constr dataTypeOf :: TimeclockEntry -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeclockEntry) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeclockEntry) gmapT :: (forall b. Data b => b -> b) -> TimeclockEntry -> TimeclockEntry gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockEntry -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeclockEntry -> r gmapQ :: (forall d. Data d => d -> u) -> TimeclockEntry -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeclockEntry -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeclockEntry -> m TimeclockEntry gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockEntry -> m TimeclockEntry gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeclockEntry -> m TimeclockEntry | |
Ord TimeclockEntry Source # | |
Defined in Hledger.Data.Types Methods compare :: TimeclockEntry -> TimeclockEntry -> Ordering (<) :: TimeclockEntry -> TimeclockEntry -> Bool (<=) :: TimeclockEntry -> TimeclockEntry -> Bool (>) :: TimeclockEntry -> TimeclockEntry -> Bool (>=) :: TimeclockEntry -> TimeclockEntry -> Bool max :: TimeclockEntry -> TimeclockEntry -> TimeclockEntry min :: TimeclockEntry -> TimeclockEntry -> TimeclockEntry | |
Show TimeclockEntry | |
Defined in Hledger.Data.Timeclock Methods showsPrec :: Int -> TimeclockEntry -> ShowS show :: TimeclockEntry -> String showList :: [TimeclockEntry] -> ShowS | |
Generic TimeclockEntry Source # | |
Defined in Hledger.Data.Types Associated Types type Rep TimeclockEntry :: Type -> Type | |
NFData TimeclockEntry Source # | |
Defined in Hledger.Data.Types Methods rnf :: TimeclockEntry -> () | |
type Rep TimeclockEntry Source # | |
Defined in Hledger.Data.Types type Rep TimeclockEntry = D1 (MetaData "TimeclockEntry" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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
|
Instances
Eq MarketPrice Source # | |
Defined in Hledger.Data.Types | |
Data MarketPrice Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MarketPrice toConstr :: MarketPrice -> Constr dataTypeOf :: MarketPrice -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MarketPrice) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MarketPrice) gmapT :: (forall b. Data b => b -> b) -> MarketPrice -> MarketPrice gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MarketPrice -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MarketPrice -> r gmapQ :: (forall d. Data d => d -> u) -> MarketPrice -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> MarketPrice -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> MarketPrice -> m MarketPrice gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MarketPrice -> m MarketPrice gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MarketPrice -> m MarketPrice | |
Ord MarketPrice Source # | |
Defined in Hledger.Data.Types Methods compare :: MarketPrice -> MarketPrice -> Ordering (<) :: MarketPrice -> MarketPrice -> Bool (<=) :: MarketPrice -> MarketPrice -> Bool (>) :: MarketPrice -> MarketPrice -> Bool (>=) :: MarketPrice -> MarketPrice -> Bool max :: MarketPrice -> MarketPrice -> MarketPrice min :: MarketPrice -> MarketPrice -> MarketPrice | |
Show MarketPrice | |
Defined in Hledger.Data.Amount Methods showsPrec :: Int -> MarketPrice -> ShowS show :: MarketPrice -> String showList :: [MarketPrice] -> ShowS | |
Generic MarketPrice Source # | |
Defined in Hledger.Data.Types Associated Types type Rep MarketPrice :: Type -> Type | |
NFData MarketPrice Source # | |
Defined in Hledger.Data.Types Methods rnf :: MarketPrice -> () | |
type Rep MarketPrice Source # | |
Defined in Hledger.Data.Types type Rep MarketPrice = D1 (MetaData "MarketPrice" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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)))) |
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
|
Instances
Eq Journal Source # | |
Data Journal Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Journal dataTypeOf :: Journal -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Journal) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Journal) gmapT :: (forall b. Data b => b -> b) -> Journal -> Journal gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Journal -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Journal -> r gmapQ :: (forall d. Data d => d -> u) -> Journal -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Journal -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Journal -> m Journal gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Journal -> m Journal gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Journal -> m Journal | |
Show Journal | |
Generic Journal Source # | |
Semigroup Journal | |
Monoid Journal | |
NFData Journal Source # | |
Defined in Hledger.Data.Types | |
type Rep Journal Source # | |
Defined in Hledger.Data.Types type Rep Journal = D1 (MetaData "Journal" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" 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, AccountDeclarationInfo)]) :*: 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 AccountDeclarationInfo Source #
Extra information about an account that can be derived from its account directive (and the other account directives).
Constructors
AccountDeclarationInfo | |
Fields
|
Instances
Eq AccountDeclarationInfo Source # | |
Defined in Hledger.Data.Types Methods (==) :: AccountDeclarationInfo -> AccountDeclarationInfo -> Bool (/=) :: AccountDeclarationInfo -> AccountDeclarationInfo -> Bool | |
Data AccountDeclarationInfo Source # | |
Defined in Hledger.Data.Types Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AccountDeclarationInfo -> c AccountDeclarationInfo gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AccountDeclarationInfo toConstr :: AccountDeclarationInfo -> Constr dataTypeOf :: AccountDeclarationInfo -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c AccountDeclarationInfo) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AccountDeclarationInfo) gmapT :: (forall b. Data b => b -> b) -> AccountDeclarationInfo -> AccountDeclarationInfo gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AccountDeclarationInfo -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AccountDeclarationInfo -> r gmapQ :: (forall d. Data d => d -> u) -> AccountDeclarationInfo -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> AccountDeclarationInfo -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> AccountDeclarationInfo -> m AccountDeclarationInfo gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountDeclarationInfo -> m AccountDeclarationInfo gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AccountDeclarationInfo -> m AccountDeclarationInfo | |
Show AccountDeclarationInfo Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountDeclarationInfo -> ShowS show :: AccountDeclarationInfo -> String showList :: [AccountDeclarationInfo] -> ShowS | |
Generic AccountDeclarationInfo Source # | |
Defined in Hledger.Data.Types Associated Types type Rep AccountDeclarationInfo :: Type -> Type Methods from :: AccountDeclarationInfo -> Rep AccountDeclarationInfo x to :: Rep AccountDeclarationInfo x -> AccountDeclarationInfo | |
NFData AccountDeclarationInfo Source # | |
Defined in Hledger.Data.Types Methods rnf :: AccountDeclarationInfo -> () | |
type Rep AccountDeclarationInfo Source # | |
Defined in Hledger.Data.Types type Rep AccountDeclarationInfo = D1 (MetaData "AccountDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" False) (C1 (MetaCons "AccountDeclarationInfo" PrefixI True) (S1 (MetaSel (Just "adicomment") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "aditags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Tag]) :*: S1 (MetaSel (Just "adideclarationorder") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))) |
An account, with its balances, parent/subaccount relationships, etc. Only the name is required; the other fields are added when needed.
Constructors
Account | |
Fields
|
Instances
Eq Account | |
Data Account Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Account dataTypeOf :: Account -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Account) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Account) gmapT :: (forall b. Data b => b -> b) -> Account -> Account gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Account -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Account -> r gmapQ :: (forall d. Data d => d -> u) -> Account -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Account -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Account -> m Account gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Account -> m Account gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Account -> m Account | |
Show Account | |
Generic Account Source # | |
type Rep Account Source # | |
Defined in Hledger.Data.Types type Rep Account = D1 (MetaData "Account" "Hledger.Data.Types" "hledger-lib-1.14.1-IftghIfuQRgCE8o2uLxBQ6" False) (C1 (MetaCons "Account" PrefixI True) (((S1 (MetaSel (Just "aname") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 AccountName) :*: S1 (MetaSel (Just "adeclarationinfo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe AccountDeclarationInfo))) :*: (S1 (MetaSel (Just "asubs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Account]) :*: S1 (MetaSel (Just "aparent") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Account)))) :*: ((S1 (MetaSel (Just "aboring") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool) :*: S1 (MetaSel (Just "anumpostings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)) :*: (S1 (MetaSel (Just "aebalance") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MixedAmount) :*: S1 (MetaSel (Just "aibalance") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 MixedAmount))))) |
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 # | |
Defined in Hledger.Data.Types | |
Data NormalSign Source # | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NormalSign toConstr :: NormalSign -> Constr dataTypeOf :: NormalSign -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NormalSign) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NormalSign) gmapT :: (forall b. Data b => b -> b) -> NormalSign -> NormalSign gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NormalSign -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NormalSign -> r gmapQ :: (forall d. Data d => d -> u) -> NormalSign -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NormalSign -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NormalSign -> m NormalSign gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NormalSign -> m NormalSign gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NormalSign -> m NormalSign | |
Show NormalSign Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> NormalSign -> ShowS show :: NormalSign -> String showList :: [NormalSign] -> ShowS |
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.
Orphan instances
Data ClockTime Source # | |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ClockTime -> c ClockTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ClockTime toConstr :: ClockTime -> Constr dataTypeOf :: ClockTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ClockTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ClockTime) gmapT :: (forall b. Data b => b -> b) -> ClockTime -> ClockTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ClockTime -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ClockTime -> r gmapQ :: (forall d. Data d => d -> u) -> ClockTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ClockTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ClockTime -> m ClockTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ClockTime -> m ClockTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ClockTime -> m ClockTime | |
Generic ClockTime Source # | |
NFData ClockTime Source # | |
Methods rnf :: ClockTime -> () | |
ToMarkup Quantity Source # | |
Data (DecimalRaw Integer) Source # | |
Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DecimalRaw Integer -> c (DecimalRaw Integer) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (DecimalRaw Integer) toConstr :: DecimalRaw Integer -> Constr dataTypeOf :: DecimalRaw Integer -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (DecimalRaw Integer)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (DecimalRaw Integer)) gmapT :: (forall b. Data b => b -> b) -> DecimalRaw Integer -> DecimalRaw Integer gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DecimalRaw Integer -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DecimalRaw Integer -> r gmapQ :: (forall d. Data d => d -> u) -> DecimalRaw Integer -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DecimalRaw Integer -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DecimalRaw Integer -> m (DecimalRaw Integer) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DecimalRaw Integer -> m (DecimalRaw Integer) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DecimalRaw Integer -> m (DecimalRaw Integer) |