hledger-1.31: Command-line interface for the hledger accounting system

Safe Haskell | Safe-Inferred
Language | Haskell2010

Hledger.Cli.Script

Description

A convenient module to import in hledger scripts, aiming to provide the most useful imports and reduce boilerplate. |

Synopsis

- data Char
- data Ordering
  - = LT
  - | EQ
  - | GT
- data Maybe a
  - = Nothing
  - | Just a
- type Change = MixedAmount
- class Eq a => Ord a where
  - compare :: a -> a -> Ordering
  - (<) :: a -> a -> Bool
  - (<=) :: a -> a -> Bool
  - (>) :: a -> a -> Bool
  - (>=) :: a -> a -> Bool
  - max :: a -> a -> a
  - min :: a -> a -> a
- type FilePath = String
- class Functor f => Applicative (f :: Type -> Type) where
  - pure :: a -> f a
  - (<*>) :: f (a -> b) -> f a -> f b
  - liftA2 :: (a -> b -> c) -> f a -> f b -> f c
  - (*>) :: f a -> f b -> f b
  - (<*) :: f a -> f b -> f a
- class Functor (f :: Type -> Type) where
  - fmap :: (a -> b) -> f a -> f b
  - (<$) :: a -> f b -> f a
- class Applicative m => Monad (m :: Type -> Type) where
  - (>>=) :: m a -> (a -> m b) -> m b
  - (>>) :: m a -> m b -> m b
  - return :: a -> m a
- data Either a b
  - = Left a
  - | Right b
- data IO a
- newtype Const a (b :: k) = Const {
  - getConst :: a
  }
- class Applicative f => Alternative (f :: Type -> Type) where
  - empty :: f a
  - (<|>) :: f a -> f a -> f a
  - some :: f a -> f [a]
  - many :: f a -> f [a]
- data Text
- data UTCTime = UTCTime {
  - utctDay :: Day
  - utctDayTime :: DiffTime
  }
- class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where
  - mzero :: m a
  - mplus :: m a -> m a -> m a
- class Monad m => MonadFail (m :: Type -> Type) where
  - fail :: String -> m a
- data ThreadId
- data Complete
  - = CompleteValue String
  - | CompleteFile String FilePath
  - | CompleteDir String FilePath
- data Arg a = Arg {
  - argValue :: Update a
  - argType :: FlagHelp
  - argRequire :: Bool
  }
- data MVar a
- data Chan a
- data QSem
- data QSemN
- type IOError = IOException
- data ExitCode
  - = ExitSuccess
  - | ExitFailure Int
- data Handle
- data TextEncoding
- data SeekMode
  - = AbsoluteSeek
  - | RelativeSeek
  - | SeekFromEnd
- data HandlePosn
- data BufferMode
  - = NoBuffering
  - | LineBuffering
  - | BlockBuffering (Maybe Int)
- data Newline
  - = LF
  - | CRLF
- data NewlineMode = NewlineMode {
  - inputNL :: Newline
  - outputNL :: Newline
  }
- data IOMode
  - = ReadMode
  - | WriteMode
  - | AppendMode
  - | ReadWriteMode
- data IOErrorType
- newtype Down a = Down {
  - getDown :: a
  }
- newtype WrappedArrow (a :: Type -> Type -> Type) b c = WrapArrow {
  - unwrapArrow :: a b c
  }
- newtype WrappedMonad (m :: Type -> Type) a = WrapMonad {
  - unwrapMonad :: m a
  }
- newtype ZipList a = ZipList {
  - getZipList :: [a]
  }
- data GeneralCategory
  - = UppercaseLetter
  - | LowercaseLetter
  - | TitlecaseLetter
  - | ModifierLetter
  - | OtherLetter
  - | NonSpacingMark
  - | SpacingCombiningMark
  - | EnclosingMark
  - | DecimalNumber
  - | LetterNumber
  - | OtherNumber
  - | ConnectorPunctuation
  - | DashPunctuation
  - | OpenPunctuation
  - | ClosePunctuation
  - | InitialQuote
  - | FinalQuote
  - | OtherPunctuation
  - | MathSymbol
  - | CurrencySymbol
  - | ModifierSymbol
  - | OtherSymbol
  - | Space
  - | LineSeparator
  - | ParagraphSeparator
  - | Control
  - | Format
  - | Surrogate
  - | PrivateUse
  - | NotAssigned
- class HPrintfType t
- class IsChar c where
  - toChar :: c -> Char
  - fromChar :: Char -> c
- class PrintfArg a where
  - formatArg :: a -> FieldFormatter
  - parseFormat :: a -> ModifierParser
- class PrintfType t
- data FieldFormat = FieldFormat {
  - fmtWidth :: Maybe Int
  - fmtPrecision :: Maybe Int
  - fmtAdjust :: Maybe FormatAdjustment
  - fmtSign :: Maybe FormatSign
  - fmtAlternate :: Bool
  - fmtModifiers :: String
  - fmtChar :: Char
  }
- type FieldFormatter = FieldFormat -> ShowS
- data FormatAdjustment
  - = LeftAdjust
  - | ZeroPad
- data FormatParse = FormatParse {
  - fpModifiers :: String
  - fpChar :: Char
  - fpRest :: String
  }
- data FormatSign
  - = SignPlus
  - | SignSpace
- type ModifierParser = String -> FormatParse
- type HasCallStack = ?callStack :: CallStack
- type Tag = (TagName, TagValue)
- class Remap (m :: Type -> Type) where
  - remap :: (a -> b) -> (b -> (a, a -> b)) -> m a -> m b
- data Flag a = Flag {
  - flagNames :: [Name]
  - flagInfo :: FlagInfo
  - flagValue :: Update a
  - flagType :: FlagHelp
  - flagHelp :: Help
  }
- type Update a = String -> a -> Either String a
- data FlagInfo
  - = FlagReq
  - | FlagOpt String
  - | FlagOptRare String
  - | FlagNone
- data Mode a = Mode {
  - modeGroupModes :: Group (Mode a)
  - modeNames :: [Name]
  - modeValue :: a
  - modeCheck :: a -> Either String a
  - modeReform :: a -> Maybe [String]
  - modeExpandAt :: Bool
  - modeHelp :: Help
  - modeHelpSuffix :: [String]
  - modeArgs :: ([Arg a], Maybe (Arg a))
  - modeGroupFlags :: Group (Flag a)
  }
- data Group a = Group {
  - groupUnnamed :: [a]
  - groupHidden :: [a]
  - groupNamed :: [(Help, [a])]
  }
- type FlagHelp = String
- type Help = String
- data HelpFormat
  - = HelpFormatDefault
  - | HelpFormatOne
  - | HelpFormatAll
  - | HelpFormatBash
  - | HelpFormatZsh
- data Reader (m :: Type -> Type) = Reader {
  - rFormat :: StorageFormat
  - rExtensions :: [String]
  - rReadFn :: InputOpts -> FilePath -> Text -> ExceptT String IO Journal
  - rParser :: MonadIO m => ErroringJournalParser m ParsedJournal
  }
- data ProcessHandle
- data StdStream
  - = Inherit
  - | UseHandle Handle
  - | CreatePipe
  - | NoStream
- data CmdSpec
  - = ShellCommand String
  - | RawCommand FilePath [String]
- data CreateProcess = CreateProcess {
  - cmdspec :: CmdSpec
  - cwd :: Maybe FilePath
  - env :: Maybe [(String, String)]
  - std_in :: StdStream
  - std_out :: StdStream
  - std_err :: StdStream
  - close_fds :: Bool
  - create_group :: Bool
  - delegate_ctlc :: Bool
  - detach_console :: Bool
  - create_new_console :: Bool
  - new_session :: Bool
  - child_group :: Maybe GroupID
  - child_user :: Maybe UserID
  - use_process_jobs :: Bool
  }
- type Pid = CPid
- data Permissions
- data XdgDirectory
  - = XdgData
  - | XdgConfig
  - | XdgCache
  - | XdgState
- data XdgDirectoryList
  - = XdgDataDirs
  - | XdgConfigDirs
- data SourcePos = SourcePos {
  - sourceName :: FilePath
  - sourceLine :: !Pos
  - sourceColumn :: !Pos
  }
- data Timeout
  - = Timeout Integer String
  - | NoTimeout
- data TestTree
- data DependencyType
  - = AllSucceed
  - | AllFinish
- type TestName = String
- type Year = Integer
- type RegexError = String
- type Replacement = String
- data Regexp
- data Ledger = Ledger {
  - ljournal :: Journal
  - laccounts :: [Account]
  }
- data NormalSign
  - = NormallyPositive
  - | NormallyNegative
- data Account = Account {
  - aname :: AccountName
  - adeclarationinfo :: Maybe AccountDeclarationInfo
  - asubs :: [Account]
  - aparent :: Maybe Account
  - aboring :: Bool
  - anumpostings :: Int
  - aebalance :: MixedAmount
  - aibalance :: MixedAmount
  }
- data AccountDeclarationInfo = AccountDeclarationInfo {
  - adicomment :: Text
  - aditags :: [Tag]
  - adideclarationorder :: Int
  - adisourcepos :: SourcePos
  }
- newtype TagDeclarationInfo = TagDeclarationInfo {
  - tdicomment :: Text
  }
- data PayeeDeclarationInfo = PayeeDeclarationInfo {
  - pdicomment :: Text
  - pditags :: [Tag]
  }
- type StorageFormat = String
- type ParsedJournal = Journal
- data Journal = Journal {
  - jparsedefaultyear :: Maybe Year
  - jparsedefaultcommodity :: Maybe (CommoditySymbol, AmountStyle)
  - jparsedecimalmark :: Maybe DecimalMark
  - jparseparentaccounts :: [AccountName]
  - jparsealiases :: [AccountAlias]
  - jparsetimeclockentries :: [TimeclockEntry]
  - jincludefilestack :: [FilePath]
  - jdeclaredpayees :: [(Payee, PayeeDeclarationInfo)]
  - jdeclaredtags :: [(TagName, TagDeclarationInfo)]
  - jdeclaredaccounts :: [(AccountName, AccountDeclarationInfo)]
  - jdeclaredaccounttags :: Map AccountName [Tag]
  - jdeclaredaccounttypes :: Map AccountType [AccountName]
  - jaccounttypes :: Map AccountName AccountType
  - jglobalcommoditystyles :: Map CommoditySymbol AmountStyle
  - jcommodities :: Map CommoditySymbol Commodity
  - jinferredcommodities :: Map CommoditySymbol AmountStyle
  - jpricedirectives :: [PriceDirective]
  - jinferredmarketprices :: [MarketPrice]
  - jtxnmodifiers :: [TransactionModifier]
  - jperiodictxns :: [PeriodicTransaction]
  - jtxns :: [Transaction]
  - jfinalcommentlines :: Text
  - jfiles :: [(FilePath, Text)]
  - jlastreadtime :: POSIXTime
  }
- data MarketPrice = MarketPrice {
  - mpdate :: Day
  - mpfrom :: CommoditySymbol
  - mpto :: CommoditySymbol
  - mprate :: Quantity
  }
- data PriceDirective = PriceDirective {
  - pddate :: Day
  - pdcommodity :: CommoditySymbol
  - pdamount :: Amount
  }
- data TimeclockEntry = TimeclockEntry {
  - tlsourcepos :: SourcePos
  - tlcode :: TimeclockCode
  - tldatetime :: LocalTime
  - tlaccount :: AccountName
  - tldescription :: Text
  - tlcomment :: Text
  - tltags :: [Tag]
  }
- data TimeclockCode
  - = SetBalance
  - | SetRequiredHours
  - | In
  - | Out
  - | FinalOut
- data PeriodicTransaction = PeriodicTransaction {
  - ptperiodexpr :: Text
  - ptinterval :: Interval
  - ptspan :: DateSpan
  - ptsourcepos :: (SourcePos, SourcePos)
  - ptstatus :: Status
  - ptcode :: Text
  - ptdescription :: Text
  - ptcomment :: Text
  - pttags :: [Tag]
  - ptpostings :: [Posting]
  }
- data TMPostingRule = TMPostingRule {
  - tmprPosting :: Posting
  - tmprIsMultiplier :: Bool
  }
- data TransactionModifier = TransactionModifier {
  - tmquerytxt :: Text
  - tmpostingrules :: [TMPostingRule]
  }
- data Transaction = Transaction {
  - tindex :: Integer
  - tprecedingcomment :: Text
  - tsourcepos :: (SourcePos, SourcePos)
  - tdate :: Day
  - tdate2 :: Maybe Day
  - tstatus :: Status
  - tcode :: Text
  - tdescription :: Text
  - tcomment :: Text
  - ttags :: [Tag]
  - tpostings :: [Posting]
  }
- 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 BalanceAssertion = BalanceAssertion {
  - baamount :: Amount
  - batotal :: Bool
  - bainclusive :: Bool
  - baposition :: SourcePos
  }
- data Status
  - = Unmarked
  - | Pending
  - | Cleared
- type DateTag = (TagName, Day)
- type TagValue = Text
- type TagName = Text
- data PostingType
  - = RegularPosting
  - | VirtualPosting
  - | BalancedVirtualPosting
- data MixedAmount
- class HasAmounts a where
  - styleAmounts :: Map CommoditySymbol AmountStyle -> a -> a
- data Amount = Amount {
  - acommodity :: !CommoditySymbol
  - aquantity :: !Quantity
  - astyle :: !AmountStyle
  - aprice :: !(Maybe AmountPrice)
  }
- data Commodity = Commodity {
  - csymbol :: CommoditySymbol
  - cformat :: Maybe AmountStyle
  }
- type CommoditySymbol = Text
- data DigitGroupStyle = DigitGroups !Char ![Word8]
- data AmountPrecision
  - = Precision !Word8
  - | NaturalPrecision
- data AmountStyle = AmountStyle {
  - ascommodityside :: !Side
  - ascommodityspaced :: !Bool
  - asdigitgroups :: !(Maybe DigitGroupStyle)
  - asdecimalmark :: !(Maybe Char)
  - asprecision :: !(Maybe AmountPrecision)
  }
- data AmountPrice
  - = UnitPrice !Amount
  - | TotalPrice !Amount
- type Quantity = Decimal
- type DecimalMark = Char
- data Side
  - = L
  - | R
- data AccountAlias
  - = BasicAlias AccountName AccountName
  - | RegexAlias Regexp Replacement
- data AccountType
  - = Asset
  - | Liability
  - | Equity
  - | Revenue
  - | Expense
  - | Cash
  - | Conversion
- type AccountName = Text
- type Payee = Text
- data Interval
  - = NoInterval
  - | Days Int
  - | Weeks Int
  - | Months Int
  - | Quarters Int
  - | Years Int
  - | DayOfMonth Int
  - | WeekdayOfMonth Int Int
  - | DaysOfWeek [Int]
  - | DayOfYear Int Int
- type DayOfMonth = Int
- data Period
  - = DayPeriod Day
  - | WeekPeriod Day
  - | MonthPeriod Year Month
  - | QuarterPeriod Year Quarter
  - | YearPeriod Year
  - | PeriodBetween Day Day
  - | PeriodFrom Day
  - | PeriodTo Day
  - | PeriodAll
- class Ord p => DayPeriod p where
  - periodFirstDay :: p -> Day
  - periodLastDay :: p -> Day
  - dayPeriod :: Day -> p
- data DateSpan = DateSpan (Maybe EFDay) (Maybe EFDay)
- data EFDay
  - = Exact Day
  - | Flex Day
- data WhichDate
  - = PrimaryDate
  - | SecondaryDate
- data SmartInterval
  - = Day
  - | Week
  - | Month
  - | Quarter
  - | Year
- newtype Day = ModifiedJulianDay {
  - toModifiedJulianDay :: Integer
  }
- type Month = Int
- type Quarter = Int
- data SmartDate
  - = SmartCompleteDate Day
  - | SmartAssumeStart Year (Maybe Month)
  - | SmartFromReference (Maybe Month) MonthDay
  - | SmartMonth Month
  - | SmartRelative Integer SmartInterval
- type WeekDay = Int
- type MonthDay = Int
- type YearDay = Int
- type MonthWeek = Int
- type YearWeek = Int
- type HledgerParseErrors = ParseErrorBundle Text HledgerParseErrorData
- data HledgerParseErrorData
- data WideBuilder = WideBuilder {
  - wbBuilder :: !Builder
  - wbWidth :: !Int
  }
- type TextParser (m :: Type -> Type) a = ParsecT HledgerParseErrorData Text m a
- type SimpleTextParser = Parsec HledgerParseErrorData Text
- type SimpleStringParser a = Parsec HledgerParseErrorData String a
- data RawOpts
- data ReportItemField
  - = AccountField
  - | DefaultDateField
  - | DescriptionField
  - | TotalField
  - | DepthSpacerField
  - | FieldNo Int
- data StringFormatComponent
  - = FormatLiteral Text
  - | FormatField Bool (Maybe Int) (Maybe Int) ReportItemField
- data StringFormat
  - = OneLine [StringFormatComponent]
  - | TopAligned [StringFormatComponent]
  - | BottomAligned [StringFormatComponent]
- data AmountDisplayOpts = AmountDisplayOpts {
  - displayPrice :: Bool
  - displayZeroCommodity :: Bool
  - displayThousandsSep :: Bool
  - displayColour :: Bool
  - displayOneLine :: Bool
  - displayMinWidth :: Maybe Int
  - displayMaxWidth :: Maybe Int
  - displayOrder :: Maybe [CommoditySymbol]
  }
- type PriceOracle = (Day, CommoditySymbol, Maybe CommoditySymbol) -> Maybe (CommoditySymbol, Quantity)
- data ValuationType
  - = AtThen (Maybe CommoditySymbol)
  - | AtEnd (Maybe CommoditySymbol)
  - | AtNow (Maybe CommoditySymbol)
  - | AtDate Day (Maybe CommoditySymbol)
- data ConversionOp
  - = NoConversionOp
  - | ToCost
- data QueryOpt
  - = QueryOptInAcctOnly AccountName
  - | QueryOptInAcct AccountName
- data OrdPlus
  - = Lt
  - | LtEq
  - | Gt
  - | GtEq
  - | Eq
  - | AbsLt
  - | AbsLtEq
  - | AbsGt
  - | AbsGtEq
  - | AbsEq
- data Query
  - = Not Query
  - | And [Query]
  - | Or [Query]
  - | Any
  - | None
  - | Date DateSpan
  - | Date2 DateSpan
  - | StatusQ Status
  - | Code Regexp
  - | Desc Regexp
  - | Tag Regexp (Maybe Regexp)
  - | Acct Regexp
  - | Type [AccountType]
  - | Depth Int
  - | Real Bool
  - | Amt OrdPlus Quantity
  - | Sym Regexp
- type ErroringJournalParser (m :: Type -> Type) a = StateT Journal (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError m)) a
- type JournalParser (m :: Type -> Type) a = StateT Journal (ParsecT HledgerParseErrorData Text m) a
- data BalancingOpts = BalancingOpts {
  - ignore_assertions_ :: Bool
  - infer_balancing_costs_ :: Bool
  - commodity_styles_ :: Maybe (Map CommoditySymbol AmountStyle)
  }
- class HasBalancingOpts c where
  - balancingOpts :: Lens' c BalancingOpts
  - commodity_styles :: Lens' c (Maybe (Map CommoditySymbol AmountStyle))
  - ignore_assertions :: Lens' c Bool
  - infer_balancing_costs :: Lens' c Bool
- data InputOpts = InputOpts {
  - mformat_ :: Maybe StorageFormat
  - mrules_file_ :: Maybe FilePath
  - aliases_ :: [String]
  - anon_ :: Bool
  - new_ :: Bool
  - new_save_ :: Bool
  - pivot_ :: String
  - forecast_ :: Maybe DateSpan
  - verbose_tags_ :: Bool
  - reportspan_ :: DateSpan
  - auto_ :: Bool
  - infer_equity_ :: Bool
  - infer_costs_ :: Bool
  - balancingopts_ :: BalancingOpts
  - strict_ :: Bool
  - _ioDay :: Day
  }
- class HasInputOpts c where
  - inputOpts :: Lens' c InputOpts
  - aliases :: Lens' c [String]
  - anon__ :: Lens' c Bool
  - auto__ :: Lens' c Bool
  - balancingopts :: Lens' c BalancingOpts
  - forecast :: Lens' c (Maybe DateSpan)
  - infer_costs :: Lens' c Bool
  - infer_equity :: Lens' c Bool
  - ioDay :: Lens' c Day
  - mformat :: Lens' c (Maybe StorageFormat)
  - mrules_file :: Lens' c (Maybe FilePath)
  - new__ :: Lens' c Bool
  - new_save :: Lens' c Bool
  - pivot :: Lens' c String
  - reportspan :: Lens' c DateSpan
  - strict :: Lens' c Bool
  - verbose_tags :: Lens' c Bool
- data ReportSpec = ReportSpec {
  - _rsReportOpts :: ReportOpts
  - _rsDay :: Day
  - _rsQuery :: Query
  - _rsQueryOpts :: [QueryOpt]
  }
- data ReportOpts = ReportOpts {
  - period_ :: Period
  - interval_ :: Interval
  - statuses_ :: [Status]
  - conversionop_ :: Maybe ConversionOp
  - value_ :: Maybe ValuationType
  - infer_prices_ :: Bool
  - depth_ :: Maybe Int
  - date2_ :: Bool
  - empty_ :: Bool
  - no_elide_ :: Bool
  - real_ :: Bool
  - format_ :: StringFormat
  - pretty_ :: Bool
  - querystring_ :: [Text]
  - average_ :: Bool
  - related_ :: Bool
  - txn_dates_ :: Bool
  - balancecalc_ :: BalanceCalculation
  - balanceaccum_ :: BalanceAccumulation
  - budgetpat_ :: Maybe Text
  - accountlistmode_ :: AccountListMode
  - drop_ :: Int
  - declared_ :: Bool
  - row_total_ :: Bool
  - no_total_ :: Bool
  - show_costs_ :: Bool
  - sort_amount_ :: Bool
  - percent_ :: Bool
  - invert_ :: Bool
  - normalbalance_ :: Maybe NormalSign
  - color_ :: Bool
  - transpose_ :: Bool
  - layout_ :: Layout
  }
- data Layout
  - = LayoutWide (Maybe Int)
  - | LayoutTall
  - | LayoutBare
  - | LayoutTidy
- data AccountListMode
  - = ALFlat
  - | ALTree
- data BalanceAccumulation
  - = PerPeriod
  - | Cumulative
  - | Historical
- data BalanceCalculation
  - = CalcChange
  - | CalcBudget
  - | CalcValueChange
  - | CalcGain
  - | CalcPostingsCount
- class HasReportOptsNoUpdate c where
  - reportOptsNoUpdate :: Lens' c ReportOpts
  - accountlistmode :: Lens' c AccountListMode
  - average :: Lens' c Bool
  - balanceaccum :: Lens' c BalanceAccumulation
  - balancecalc :: Lens' c BalanceCalculation
  - budgetpat :: Lens' c (Maybe Text)
  - color__ :: Lens' c Bool
  - conversionop :: Lens' c (Maybe ConversionOp)
  - date2NoUpdate :: Lens' c Bool
  - declared :: Lens' c Bool
  - depthNoUpdate :: Lens' c (Maybe Int)
  - drop__ :: Lens' c Int
  - empty__ :: Lens' c Bool
  - format :: Lens' c StringFormat
  - infer_prices :: Lens' c Bool
  - interval :: Lens' c Interval
  - invert :: Lens' c Bool
  - layout :: Lens' c Layout
  - no_elide :: Lens' c Bool
  - no_total :: Lens' c Bool
  - normalbalance :: Lens' c (Maybe NormalSign)
  - percent :: Lens' c Bool
  - periodNoUpdate :: Lens' c Period
  - pretty :: Lens' c Bool
  - querystringNoUpdate :: Lens' c [Text]
  - realNoUpdate :: Lens' c Bool
  - related :: Lens' c Bool
  - row_total :: Lens' c Bool
  - show_costs :: Lens' c Bool
  - sort_amount :: Lens' c Bool
  - statusesNoUpdate :: Lens' c [Status]
  - transpose__ :: Lens' c Bool
  - txn_dates :: Lens' c Bool
  - value :: Lens' c (Maybe ValuationType)
- class HasReportOptsNoUpdate a => HasReportOpts a where
  - reportOpts :: ReportableLens' a ReportOpts
  - period :: ReportableLens' a Period
  - statuses :: ReportableLens' a [Status]
  - depth :: ReportableLens' a (Maybe Int)
  - date2 :: ReportableLens' a Bool
  - real :: ReportableLens' a Bool
  - querystring :: ReportableLens' a [Text]
- class HasReportSpec c where
  - reportSpec :: Lens' c ReportSpec
  - rsDay :: Lens' c Day
  - rsQuery :: Lens' c Query
  - rsQueryOpts :: Lens' c [QueryOpt]
  - rsReportOpts :: Lens' c ReportOpts
- data DisplayName = DisplayName {
  - displayFull :: AccountName
  - displayName :: AccountName
  - displayDepth :: Int
  }
- data CBCSubreportSpec a = CBCSubreportSpec {
  - cbcsubreporttitle :: Text
  - cbcsubreportquery :: Query
  - cbcsubreportoptions :: ReportOpts -> ReportOpts
  - cbcsubreporttransform :: PeriodicReport DisplayName MixedAmount -> PeriodicReport a MixedAmount
  - cbcsubreportincreasestotal :: Bool
  }
- data CompoundPeriodicReport a b = CompoundPeriodicReport {
  - cbrTitle :: Text
  - cbrDates :: [DateSpan]
  - cbrSubreports :: [(Text, PeriodicReport a b, Bool)]
  - cbrTotals :: PeriodicReportRow () b
  }
- data PeriodicReportRow a b = PeriodicReportRow {
  - prrName :: a
  - prrAmounts :: [b]
  - prrTotal :: b
  - prrAverage :: b
  }
- data PeriodicReport a b = PeriodicReport {
  - prDates :: [DateSpan]
  - prRows :: [PeriodicReportRow a b]
  - prTotals :: PeriodicReportRow () b
  }
- type Average = MixedAmount
- type Total = MixedAmount
- type Balance = MixedAmount
- type Percentage = Decimal
- type PostingsReportItem = (Maybe Day, Maybe Period, Maybe Text, Posting, MixedAmount)
- type PostingsReport = [PostingsReportItem]
- type MultiBalanceReportRow = PeriodicReportRow DisplayName MixedAmount
- type MultiBalanceReport = PeriodicReport DisplayName MixedAmount
- type EntriesReportItem = Transaction
- type EntriesReport = [EntriesReportItem]
- type BudgetReport = PeriodicReport DisplayName BudgetCell
- type BudgetReportRow = PeriodicReportRow DisplayName BudgetCell
- type BudgetCell = (Maybe Change, Maybe BudgetGoal)
- type BudgetAverage = Average
- type BudgetTotal = Total
- type BudgetGoal = Change
- type BalanceReportItem = (AccountName, AccountName, Int, MixedAmount)
- type BalanceReport = ([BalanceReportItem], MixedAmount)
- type AccountTransactionsReportItem = (Transaction, Transaction, Bool, Text, MixedAmount, MixedAmount)
- type AccountTransactionsReport = [AccountTransactionsReportItem]
- type PrefixedFilePath = FilePath
- type Assertion = IO ()
- type AssertionPredicate = IO Bool
- class Assertable t where
  - assert :: t -> Assertion
- data HUnitFailure = HUnitFailure (Maybe SrcLoc) String
- class AssertionPredicable t where
  - assertionPredicate :: t -> IO Bool
- data TimeLocale = TimeLocale {
  - wDays :: [(String, String)]
  - months :: [(String, String)]
  - amPm :: (String, String)
  - dateTimeFmt :: String
  - dateFmt :: String
  - timeFmt :: String
  - time12Fmt :: String
  - knownTimeZones :: [TimeZone]
  }
- data CalendarDiffDays = CalendarDiffDays {
  - cdMonths :: Integer
  - cdDays :: Integer
  }
- type MonthOfYear = Int
- data DayOfWeek
  - = Monday
  - | Tuesday
  - | Wednesday
  - | Thursday
  - | Friday
  - | Saturday
  - | Sunday
- class FormatTime t
- data CalendarDiffTime = CalendarDiffTime {
  - ctMonths :: Integer
  - ctTime :: NominalDiffTime
  }
- data NominalDiffTime
- data DiffTime
- data LocalTime = LocalTime {
  - localDay :: Day
  - localTimeOfDay :: TimeOfDay
  }
- data TimeOfDay = TimeOfDay {
  - todHour :: Int
  - todMin :: Int
  - todSec :: Pico
  }
- data TimeZone = TimeZone {
  - timeZoneMinutes :: Int
  - timeZoneSummerOnly :: Bool
  - timeZoneName :: String
  }
- newtype UniversalTime = ModJulianDate {
  - getModJulianDate :: Rational
  }
- data ZonedTime = ZonedTime {
  - zonedTimeToLocalTime :: LocalTime
  - zonedTimeZone :: TimeZone
  }
- class ParseTime t
- data CliOpts = CliOpts {
  - rawopts_ :: RawOpts
  - command_ :: String
  - file_ :: [FilePath]
  - inputopts_ :: InputOpts
  - reportspec_ :: ReportSpec
  - output_file_ :: Maybe FilePath
  - output_format_ :: Maybe String
  - debug_ :: Int
  - no_new_accounts_ :: Bool
  - width_ :: Maybe String
  - available_width_ :: Int
  - progstarttime_ :: POSIXTime
  }
- class HasCliOpts c where
  - cliOpts :: Lens' c CliOpts
  - available_width :: Lens' c Int
  - command :: Lens' c String
  - debug__ :: Lens' c Int
  - file__ :: Lens' c [FilePath]
  - inputopts :: Lens' c InputOpts
  - no_new_accounts :: Lens' c Bool
  - output_file :: Lens' c (Maybe FilePath)
  - output_format :: Lens' c (Maybe String)
  - progstarttime :: Lens' c POSIXTime
  - rawopts__ :: Lens' c RawOpts
  - reportspec :: Lens' c ReportSpec
  - width__ :: Lens' c (Maybe String)
- type CommandDoc = String
- type Topic = String
- type ProgramName = String
- type PackageVersion = String
- type VersionString = String
- pattern MixedAmountKeyNoPrice :: !CommoditySymbol -> MixedAmountKey
- pattern MixedAmountKeyTotalPrice :: !CommoditySymbol -> !CommoditySymbol -> MixedAmountKey
- pattern MixedAmountKeyUnitPrice :: !CommoditySymbol -> !CommoditySymbol -> !Quantity -> MixedAmountKey
- pattern YearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day
- pattern April :: MonthOfYear
- pattern August :: MonthOfYear
- pattern BeforeCommonEra :: Integer -> Year
- pattern CommonEra :: Integer -> Year
- pattern December :: MonthOfYear
- pattern February :: MonthOfYear
- pattern January :: MonthOfYear
- pattern July :: MonthOfYear
- pattern June :: MonthOfYear
- pattern March :: MonthOfYear
- pattern May :: MonthOfYear
- pattern November :: MonthOfYear
- pattern October :: MonthOfYear
- pattern September :: MonthOfYear
- pager :: String -> IO ()
- process :: Mode a -> [String] -> Either String a
- isLeft :: Either a b -> Bool
- fromLeft :: a -> Either a b -> a
- span :: (a -> Bool) -> [a] -> ([a], [a])
- filter :: (a -> Bool) -> [a] -> [a]
- getCurrentDirectory :: IO FilePath
- (++) :: [a] -> [a] -> [a]
- foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
- null :: Foldable t => t a -> Bool
- foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
- foldl' :: Foldable t => (b -> a -> b) -> b -> t a -> b
- length :: Foldable t => t a -> Int
- elem :: (Foldable t, Eq a) => a -> t a -> Bool
- foldl1 :: Foldable t => (a -> a -> a) -> t a -> a
- foldr1 :: Foldable t => (a -> a -> a) -> t a -> a
- maximum :: (Foldable t, Ord a) => t a -> a
- minimum :: (Foldable t, Ord a) => t a -> a
- product :: (Foldable t, Num a) => t a -> a
- sum :: (Foldable t, Num a) => t a -> a
- map :: (a -> b) -> [a] -> [b]
- join :: Monad m => m (m a) -> m a
- zip :: [a] -> [b] -> [(a, b)]
- concat :: Foldable t => t [a] -> [a]
- readProcessWithExitCode :: FilePath -> [String] -> String -> IO (ExitCode, String, String)
- sort :: Ord a => [a] -> [a]
- delete :: Eq a => a -> [a] -> [a]
- oneLine :: AmountDisplayOpts
- abort :: Partial => String -> a
- testCase :: TestName -> Assertion -> TestTree
- toUpper :: Char -> Char
- singleton :: a -> [a]
- lookup :: Eq a => a -> [(a, b)] -> Maybe b
- insert :: Ord a => a -> [a] -> [a]
- union :: Eq a => [a] -> [a] -> [a]
- mapMaybe :: (a -> Maybe b) -> [a] -> [b]
- liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
- void :: Functor f => f a -> f ()
- when :: Applicative f => Bool -> f () -> f ()
- unless :: Applicative f => Bool -> f () -> f ()
- ($>) :: Functor f => f a -> b -> f b
- catMaybes :: [Maybe a] -> [a]
- fromMaybe :: a -> Maybe a -> a
- toLower :: Char -> Char
- (<$>) :: Functor f => (a -> b) -> f a -> f b
- liftM :: Monad m => (a1 -> r) -> m a1 -> m r
- guard :: Alternative f => Bool -> f ()
- hIsTerminalDevice :: Handle -> IO Bool
- stdout :: Handle
- stdin :: Handle
- forkIO :: IO () -> IO ThreadId
- forkOS :: IO () -> IO ThreadId
- forkOn :: Int -> IO () -> IO ThreadId
- forkIOWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId
- forkOnWithUnmask :: Int -> ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId
- mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
- forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
- isSpace :: Char -> Bool
- takeWhile :: (a -> Bool) -> [a] -> [a]
- take :: Int -> [a] -> [a]
- isDigit :: Char -> Bool
- char8 :: TextEncoding
- isAlpha :: Char -> Bool
- unzip :: [(a, b)] -> ([a], [b])
- forkFinally :: IO a -> (Either SomeException a -> IO ()) -> IO ThreadId
- forkOSWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId
- withMVarMasked :: MVar a -> (a -> IO b) -> IO b
- (=<<) :: Monad m => (a -> m b) -> m a -> m b
- ap :: Monad m => m (a -> b) -> m a -> m b
- liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
- liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r
- liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r
- fromRight :: b -> Either a b -> b
- isRight :: Either a b -> Bool
- sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
- lines :: String -> [String]
- unlines :: [String] -> String
- unwords :: [String] -> String
- words :: String -> [String]
- mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
- sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)
- (<$!>) :: Monad m => (a -> b) -> m a -> m b
- (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
- (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
- filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
- foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
- foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m ()
- forever :: Applicative f => f a -> f b
- mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c])
- mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
- replicateM :: Applicative m => Int -> m a -> m [a]
- replicateM_ :: Applicative m => Int -> m a -> m ()
- zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c]
- zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m ()
- msum :: (Foldable t, MonadPlus m) => t (m a) -> m a
- forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
- (<&>) :: Functor f => f a -> (a -> b) -> f b
- head :: HasCallStack => [a] -> a
- last :: HasCallStack => [a] -> a
- (!!) :: HasCallStack => [a] -> Int -> a
- break :: (a -> Bool) -> [a] -> ([a], [a])
- cycle :: HasCallStack => [a] -> [a]
- drop :: Int -> [a] -> [a]
- dropWhile :: (a -> Bool) -> [a] -> [a]
- group :: Eq a => [a] -> [[a]]
- groupBy :: (a -> a -> Bool) -> [a] -> [[a]]
- init :: HasCallStack => [a] -> [a]
- inits :: [a] -> [[a]]
- intersperse :: a -> [a] -> [a]
- isPrefixOf :: Eq a => [a] -> [a] -> Bool
- iterate :: (a -> a) -> a -> [a]
- nub :: Eq a => [a] -> [a]
- nubBy :: (a -> a -> Bool) -> [a] -> [a]
- partition :: (a -> Bool) -> [a] -> ([a], [a])
- repeat :: a -> [a]
- reverse :: [a] -> [a]
- scanl :: (b -> a -> b) -> b -> [a] -> [b]
- scanl1 :: (a -> a -> a) -> [a] -> [a]
- scanr :: (a -> b -> b) -> b -> [a] -> [b]
- scanr1 :: (a -> a -> a) -> [a] -> [a]
- sortBy :: (a -> a -> Ordering) -> [a] -> [a]
- splitAt :: Int -> [a] -> ([a], [a])
- tail :: HasCallStack => [a] -> [a]
- tails :: [a] -> [[a]]
- transpose :: [[a]] -> [[a]]
- uncons :: [a] -> Maybe (a, [a])
- unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
- zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
- diff :: CliOpts -> Journal -> IO ()
- traceShowId :: Show a => a -> a
- traceWith :: (a -> String) -> a -> a
- hGetContents' :: Handle -> IO String
- getContents' :: IO String
- readFile' :: FilePath -> IO String
- getArgs :: IO [String]
- getEnv :: String -> IO String
- getEnvironment :: IO [(String, String)]
- getProgName :: IO String
- lookupEnv :: String -> IO (Maybe String)
- setEnv :: String -> String -> IO ()
- unsetEnv :: String -> IO ()
- withArgs :: [String] -> IO a -> IO a
- withProgName :: String -> IO a -> IO a
- die :: String -> IO a
- isResourceVanishedError :: IOError -> Bool
- isResourceVanishedErrorType :: IOErrorType -> Bool
- resourceVanishedErrorType :: IOErrorType
- dupChan :: Chan a -> IO (Chan a)
- getChanContents :: Chan a -> IO [a]
- newChan :: IO (Chan a)
- readChan :: Chan a -> IO a
- writeChan :: Chan a -> a -> IO ()
- writeList2Chan :: Chan a -> [a] -> IO ()
- addMVarFinalizer :: MVar a -> IO () -> IO ()
- mkWeakMVar :: MVar a -> IO () -> IO (Weak (MVar a))
- modifyMVar :: MVar a -> (a -> IO (a, b)) -> IO b
- modifyMVarMasked :: MVar a -> (a -> IO (a, b)) -> IO b
- modifyMVarMasked_ :: MVar a -> (a -> IO a) -> IO ()
- modifyMVar_ :: MVar a -> (a -> IO a) -> IO ()
- swapMVar :: MVar a -> a -> IO a
- withMVar :: MVar a -> (a -> IO b) -> IO b
- newQSem :: Int -> IO QSem
- signalQSem :: QSem -> IO ()
- waitQSem :: QSem -> IO ()
- newQSemN :: Int -> IO QSemN
- signalQSemN :: QSemN -> Int -> IO ()
- waitQSemN :: QSemN -> Int -> IO ()
- threadDelay :: Int -> IO ()
- threadWaitRead :: Fd -> IO ()
- threadWaitReadSTM :: Fd -> IO (STM (), IO ())
- threadWaitWrite :: Fd -> IO ()
- threadWaitWriteSTM :: Fd -> IO (STM (), IO ())
- getNumCapabilities :: IO Int
- killThread :: ThreadId -> IO ()
- mkWeakThreadId :: ThreadId -> IO (Weak ThreadId)
- myThreadId :: IO ThreadId
- setNumCapabilities :: Int -> IO ()
- threadCapability :: ThreadId -> IO (Int, Bool)
- throwTo :: Exception e => ThreadId -> e -> IO ()
- yield :: IO ()
- isEmptyMVar :: MVar a -> IO Bool
- newEmptyMVar :: IO (MVar a)
- newMVar :: a -> IO (MVar a)
- putMVar :: MVar a -> a -> IO ()
- readMVar :: MVar a -> IO a
- takeMVar :: MVar a -> IO a
- tryPutMVar :: MVar a -> a -> IO Bool
- tryReadMVar :: MVar a -> IO (Maybe a)
- tryTakeMVar :: MVar a -> IO (Maybe a)
- rtsSupportsBoundThreads :: Bool
- isCurrentThreadBound :: IO Bool
- runInBoundThread :: IO a -> IO a
- runInUnboundThread :: IO a -> IO a
- ioError :: IOError -> IO a
- either :: (a -> c) -> (b -> c) -> Either a b -> c
- lefts :: [Either a b] -> [a]
- partitionEithers :: [Either a b] -> ([a], [b])
- rights :: [Either a b] -> [b]
- all :: Foldable t => (a -> Bool) -> t a -> Bool
- and :: Foldable t => t Bool -> Bool
- any :: Foldable t => (a -> Bool) -> t a -> Bool
- concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
- notElem :: (Foldable t, Eq a) => a -> t a -> Bool
- or :: Foldable t => t Bool -> Bool
- asum :: (Foldable t, Alternative f) => t (f a) -> f a
- find :: Foldable t => (a -> Bool) -> t a -> Maybe a
- maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
- minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
- foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a
- mapAccumL :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
- mapAccumR :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
- traceIO :: String -> IO ()
- trace :: String -> a -> a
- replicate :: Int -> a -> [a]
- maybe :: b -> (a -> b) -> Maybe a -> b
- userError :: String -> IOError
- unzip3 :: [(a, b, c)] -> ([a], [b], [c])
- zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
- zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
- appendFile :: FilePath -> String -> IO ()
- getChar :: IO Char
- getContents :: IO String
- getLine :: IO String
- interact :: (String -> String) -> IO ()
- print :: Show a => a -> IO ()
- putChar :: Char -> IO ()
- putStr :: String -> IO ()
- putStrLn :: String -> IO ()
- readFile :: FilePath -> IO String
- readIO :: Read a => String -> IO a
- readLn :: Read a => IO a
- writeFile :: FilePath -> String -> IO ()
- intercalate :: [a] -> [[a]] -> [a]
- insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a]
- iterate' :: (a -> a) -> a -> [a]
- scanl' :: (b -> a -> b) -> b -> [a] -> [b]
- (\\) :: Eq a => [a] -> [a] -> [a]
- genericLength :: Num i => [a] -> i
- zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
- zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
- zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
- zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
- deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]
- deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
- dropWhileEnd :: (a -> Bool) -> [a] -> [a]
- elemIndex :: Eq a => a -> [a] -> Maybe Int
- elemIndices :: Eq a => a -> [a] -> [Int]
- findIndex :: (a -> Bool) -> [a] -> Maybe Int
- findIndices :: (a -> Bool) -> [a] -> [Int]
- genericDrop :: Integral i => i -> [a] -> [a]
- genericIndex :: Integral i => [a] -> i -> a
- genericReplicate :: Integral i => i -> a -> [a]
- genericSplitAt :: Integral i => i -> [a] -> ([a], [a])
- genericTake :: Integral i => i -> [a] -> [a]
- intersect :: Eq a => [a] -> [a] -> [a]
- intersectBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
- isInfixOf :: Eq a => [a] -> [a] -> Bool
- isSuffixOf :: Eq a => [a] -> [a] -> Bool
- permutations :: [a] -> [[a]]
- sortOn :: Ord b => (a -> b) -> [a] -> [a]
- stripPrefix :: Eq a => [a] -> [a] -> Maybe [a]
- subsequences :: [a] -> [[a]]
- unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
- unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
- unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
- unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
- unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
- zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
- zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
- zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
- zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
- isSubsequenceOf :: Eq a => [a] -> [a] -> Bool
- exitFailure :: IO a
- exitSuccess :: IO a
- exitWith :: ExitCode -> IO a
- hFlush :: Handle -> IO ()
- utf8 :: TextEncoding
- latin1 :: TextEncoding
- mkTextEncoding :: String -> IO TextEncoding
- utf16 :: TextEncoding
- utf16be :: TextEncoding
- utf16le :: TextEncoding
- utf32 :: TextEncoding
- utf32be :: TextEncoding
- utf32le :: TextEncoding
- utf8_bom :: TextEncoding
- hClose :: Handle -> IO ()
- hFileSize :: Handle -> IO Integer
- hGetBuffering :: Handle -> IO BufferMode
- hGetEcho :: Handle -> IO Bool
- hGetEncoding :: Handle -> IO (Maybe TextEncoding)
- hGetPosn :: Handle -> IO HandlePosn
- hIsClosed :: Handle -> IO Bool
- hIsEOF :: Handle -> IO Bool
- hIsOpen :: Handle -> IO Bool
- hIsReadable :: Handle -> IO Bool
- hIsSeekable :: Handle -> IO Bool
- hIsWritable :: Handle -> IO Bool
- hLookAhead :: Handle -> IO Char
- hSeek :: Handle -> SeekMode -> Integer -> IO ()
- hSetBinaryMode :: Handle -> Bool -> IO ()
- hSetBuffering :: Handle -> BufferMode -> IO ()
- hSetEcho :: Handle -> Bool -> IO ()
- hSetEncoding :: Handle -> TextEncoding -> IO ()
- hSetFileSize :: Handle -> Integer -> IO ()
- hSetNewlineMode :: Handle -> NewlineMode -> IO ()
- hSetPosn :: HandlePosn -> IO ()
- hShow :: Handle -> IO String
- hTell :: Handle -> IO Integer
- isEOF :: IO Bool
- hGetBuf :: Handle -> Ptr a -> Int -> IO Int
- hGetBufNonBlocking :: Handle -> Ptr a -> Int -> IO Int
- hGetBufSome :: Handle -> Ptr a -> Int -> IO Int
- hGetChar :: Handle -> IO Char
- hGetContents :: Handle -> IO String
- hGetLine :: Handle -> IO String
- hPutBuf :: Handle -> Ptr a -> Int -> IO ()
- hPutBufNonBlocking :: Handle -> Ptr a -> Int -> IO Int
- hPutChar :: Handle -> Char -> IO ()
- hPutStr :: Handle -> String -> IO ()
- hPutStrLn :: Handle -> String -> IO ()
- hWaitForInput :: Handle -> Int -> IO Bool
- nativeNewline :: Newline
- nativeNewlineMode :: NewlineMode
- noNewlineTranslation :: NewlineMode
- universalNewlineMode :: NewlineMode
- openBinaryFile :: FilePath -> IOMode -> IO Handle
- openFile :: FilePath -> IOMode -> IO Handle
- stderr :: Handle
- withBinaryFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r
- withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r
- fixIO :: (a -> IO a) -> IO a
- hPrint :: Show a => Handle -> a -> IO ()
- hReady :: Handle -> IO Bool
- localeEncoding :: TextEncoding
- openBinaryTempFile :: FilePath -> String -> IO (FilePath, Handle)
- openBinaryTempFileWithDefaultPermissions :: FilePath -> String -> IO (FilePath, Handle)
- openTempFile :: FilePath -> String -> IO (FilePath, Handle)
- openTempFileWithDefaultPermissions :: FilePath -> String -> IO (FilePath, Handle)
- mkIOError :: IOErrorType -> String -> Maybe Handle -> Maybe FilePath -> IOError
- isEOFError :: IOError -> Bool
- isFullError :: IOError -> Bool
- isPermissionError :: IOError -> Bool
- alreadyExistsErrorType :: IOErrorType
- alreadyInUseErrorType :: IOErrorType
- annotateIOError :: IOError -> String -> Maybe Handle -> Maybe FilePath -> IOError
- catchIOError :: IO a -> (IOError -> IO a) -> IO a
- doesNotExistErrorType :: IOErrorType
- eofErrorType :: IOErrorType
- fullErrorType :: IOErrorType
- illegalOperationErrorType :: IOErrorType
- ioeGetErrorString :: IOError -> String
- ioeGetErrorType :: IOError -> IOErrorType
- ioeGetFileName :: IOError -> Maybe FilePath
- ioeGetHandle :: IOError -> Maybe Handle
- ioeGetLocation :: IOError -> String
- ioeSetErrorString :: IOError -> String -> IOError
- ioeSetErrorType :: IOError -> IOErrorType -> IOError
- ioeSetFileName :: IOError -> FilePath -> IOError
- ioeSetHandle :: IOError -> Handle -> IOError
- ioeSetLocation :: IOError -> String -> IOError
- isAlreadyExistsError :: IOError -> Bool
- isAlreadyExistsErrorType :: IOErrorType -> Bool
- isAlreadyInUseError :: IOError -> Bool
- isAlreadyInUseErrorType :: IOErrorType -> Bool
- isDoesNotExistError :: IOError -> Bool
- isDoesNotExistErrorType :: IOErrorType -> Bool
- isEOFErrorType :: IOErrorType -> Bool
- isFullErrorType :: IOErrorType -> Bool
- isIllegalOperation :: IOError -> Bool
- isIllegalOperationErrorType :: IOErrorType -> Bool
- isPermissionErrorType :: IOErrorType -> Bool
- isUserError :: IOError -> Bool
- isUserErrorType :: IOErrorType -> Bool
- modifyIOError :: (IOError -> IOError) -> IO a -> IO a
- permissionErrorType :: IOErrorType
- tryIOError :: IO a -> IO (Either IOError a)
- userErrorType :: IOErrorType
- close :: CliOpts -> Journal -> IO ()
- (<**>) :: Applicative f => f a -> f (a -> b) -> f b
- liftA :: Applicative f => (a -> b) -> f a -> f b
- liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
- optional :: Alternative f => f a -> f (Maybe a)
- ord :: Char -> Int
- chr :: Int -> Char
- lexLitChar :: ReadS String
- readLitChar :: ReadS Char
- intToDigit :: Int -> Char
- showLitChar :: Char -> ShowS
- generalCategory :: Char -> GeneralCategory
- isAlphaNum :: Char -> Bool
- isAscii :: Char -> Bool
- isAsciiLower :: Char -> Bool
- isAsciiUpper :: Char -> Bool
- isControl :: Char -> Bool
- isHexDigit :: Char -> Bool
- isLatin1 :: Char -> Bool
- isLower :: Char -> Bool
- isLowerCase :: Char -> Bool
- isOctDigit :: Char -> Bool
- isPrint :: Char -> Bool
- isPunctuation :: Char -> Bool
- isSymbol :: Char -> Bool
- isUpper :: Char -> Bool
- isUpperCase :: Char -> Bool
- toTitle :: Char -> Char
- digitToInt :: Char -> Int
- isLetter :: Char -> Bool
- isMark :: Char -> Bool
- isNumber :: Char -> Bool
- isSeparator :: Char -> Bool
- formatRealFloat :: RealFloat a => a -> FieldFormatter
- formatInt :: (Integral a, Bounded a) => a -> FieldFormatter
- errorBadArgument :: a
- errorBadFormat :: Char -> a
- errorMissingArgument :: a
- errorShortFormat :: a
- formatChar :: Char -> FieldFormatter
- formatInteger :: Integer -> FieldFormatter
- formatString :: Bool -> Maybe Int -> Maybe Int -> String -> String
- hPrintf :: HPrintfType r => Handle -> String -> r
- perror :: String -> a
- printf :: PrintfType r => String -> r
- vFmt :: Char -> FieldFormat -> FieldFormat
- wrap :: Text -> Text -> Text -> Text
- expandArgsAt :: [String] -> IO [String]
- joinArgs :: [String] -> String
- splitArgs :: String -> [String]
- parseBool :: String -> Maybe Bool
- fromGroup :: Group a -> [a]
- toGroup :: [a] -> Group a
- modeModes :: Mode a -> [Mode a]
- modeFlags :: Mode a -> [Flag a]
- fromFlagOpt :: FlagInfo -> String
- checkMode :: Mode a -> Maybe String
- remap2 :: Remap m => (a -> b) -> (b -> a) -> m a -> m b
- remapUpdate :: (a -> b) -> (b -> (a, a -> b)) -> Update a -> Update b
- modeEmpty :: a -> Mode a
- mode :: Name -> a -> Help -> Arg a -> [Flag a] -> Mode a
- modes :: String -> a -> Help -> [Mode a] -> Mode a
- flagNone :: [Name] -> (a -> a) -> Help -> Flag a
- flagOpt :: String -> [Name] -> Update a -> FlagHelp -> Help -> Flag a
- flagReq :: [Name] -> Update a -> FlagHelp -> Help -> Flag a
- flagArg :: Update a -> FlagHelp -> Arg a
- flagBool :: [Name] -> (Bool -> a -> a) -> Help -> Flag a
- complete :: Mode a -> [String] -> (Int, Int) -> [Complete]
- helpText :: [String] -> HelpFormat -> Mode a -> [Text]
- processArgs :: Mode a -> IO a
- processValue :: Mode a -> [String] -> a
- processValueIO :: Mode a -> [String] -> IO a
- flagHelpSimple :: (a -> a) -> Flag a
- flagHelpFormat :: (HelpFormat -> TextFormat -> a -> a) -> Flag a
- flagVersion :: (a -> a) -> Flag a
- flagNumericVersion :: (a -> a) -> Flag a
- flagsVerbosity :: (Verbosity -> a -> a) -> [Flag a]
- add :: CliOpts -> Journal -> IO ()
- headDef :: a -> [a] -> a
- lastDef :: a -> [a] -> a
- proc :: FilePath -> [String] -> CreateProcess
- createPipe :: IO (Handle, Handle)
- createPipeFd :: IO (FD, FD)
- createProcess_ :: String -> CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
- interruptProcessGroupOf :: ProcessHandle -> IO ()
- terminateProcess :: ProcessHandle -> IO ()
- getProcessExitCode :: ProcessHandle -> IO (Maybe ExitCode)
- callCommand :: String -> IO ()
- callProcess :: FilePath -> [String] -> IO ()
- cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) -> IO ()
- createProcess :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)
- getCurrentPid :: IO Pid
- getPid :: ProcessHandle -> IO (Maybe Pid)
- rawSystem :: String -> [String] -> IO ExitCode
- readCreateProcess :: CreateProcess -> String -> IO String
- readCreateProcessWithExitCode :: CreateProcess -> String -> IO (ExitCode, String, String)
- readProcess :: FilePath -> [String] -> String -> IO String
- runCommand :: String -> IO ProcessHandle
- runInteractiveCommand :: String -> IO (Handle, Handle, Handle, ProcessHandle)
- runInteractiveProcess :: FilePath -> [String] -> Maybe FilePath -> Maybe [(String, String)] -> IO (Handle, Handle, Handle, ProcessHandle)
- runProcess :: FilePath -> [String] -> Maybe FilePath -> Maybe [(String, String)] -> Maybe Handle -> Maybe Handle -> Maybe Handle -> IO ProcessHandle
- shell :: String -> CreateProcess
- showCommandForUser :: FilePath -> [String] -> String
- spawnCommand :: String -> IO ProcessHandle
- spawnProcess :: FilePath -> [String] -> IO ProcessHandle
- system :: String -> IO ExitCode
- waitForProcess :: ProcessHandle -> IO ExitCode
- withCreateProcess :: CreateProcess -> (Maybe Handle -> Maybe Handle -> Maybe Handle -> ProcessHandle -> IO a) -> IO a
- chomp :: String -> String
- charWidth :: Char -> Int
- curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d
- uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d
- first3 :: (a, b, c) -> a
- second3 :: (a, b, c) -> b
- third3 :: (a, b, c) -> c
- takeEnd :: Int -> [a] -> [a]
- spanEnd :: DateSpan -> Maybe Day
- withCurrentDirectory :: FilePath -> IO a -> IO a
- getDirectoryContents :: FilePath -> IO [FilePath]
- createDirectory :: FilePath -> IO ()
- doesDirectoryExist :: FilePath -> IO Bool
- doesFileExist :: FilePath -> IO Bool
- canonicalizePath :: FilePath -> IO FilePath
- copyFile :: FilePath -> FilePath -> IO ()
- copyFileWithMetadata :: FilePath -> FilePath -> IO ()
- copyPermissions :: FilePath -> FilePath -> IO ()
- createDirectoryIfMissing :: Bool -> FilePath -> IO ()
- createDirectoryLink :: FilePath -> FilePath -> IO ()
- createFileLink :: FilePath -> FilePath -> IO ()
- doesPathExist :: FilePath -> IO Bool
- exeExtension :: String
- findExecutable :: String -> IO (Maybe FilePath)
- findExecutables :: String -> IO [FilePath]
- findExecutablesInDirectories :: [FilePath] -> String -> IO [FilePath]
- findFileWith :: (FilePath -> IO Bool) -> [FilePath] -> String -> IO (Maybe FilePath)
- findFilesWith :: (FilePath -> IO Bool) -> [FilePath] -> String -> IO [FilePath]
- getAccessTime :: FilePath -> IO UTCTime
- getAppUserDataDirectory :: FilePath -> IO FilePath
- getFileSize :: FilePath -> IO Integer
- getHomeDirectory :: IO FilePath
- getModificationTime :: FilePath -> IO UTCTime
- getPermissions :: FilePath -> IO Permissions
- getSymbolicLinkTarget :: FilePath -> IO FilePath
- getTemporaryDirectory :: IO FilePath
- getUserDocumentsDirectory :: IO FilePath
- getXdgDirectory :: XdgDirectory -> FilePath -> IO FilePath
- getXdgDirectoryList :: XdgDirectoryList -> IO [FilePath]
- listDirectory :: FilePath -> IO [FilePath]
- makeAbsolute :: FilePath -> IO FilePath
- makeRelativeToCurrentDirectory :: FilePath -> IO FilePath
- pathIsSymbolicLink :: FilePath -> IO Bool
- removeDirectory :: FilePath -> IO ()
- removeDirectoryLink :: FilePath -> IO ()
- removeDirectoryRecursive :: FilePath -> IO ()
- removeFile :: FilePath -> IO ()
- removePathForcibly :: FilePath -> IO ()
- renameDirectory :: FilePath -> FilePath -> IO ()
- renameFile :: FilePath -> FilePath -> IO ()
- renamePath :: FilePath -> FilePath -> IO ()
- setAccessTime :: FilePath -> UTCTime -> IO ()
- setCurrentDirectory :: FilePath -> IO ()
- setModificationTime :: FilePath -> UTCTime -> IO ()
- setPermissions :: FilePath -> Permissions -> IO ()
- isSymbolicLink :: FilePath -> IO Bool
- emptyPermissions :: Permissions
- findFile :: [FilePath] -> String -> IO (Maybe FilePath)
- findFiles :: [FilePath] -> String -> IO [FilePath]
- setOwnerExecutable :: Bool -> Permissions -> Permissions
- setOwnerReadable :: Bool -> Permissions -> Permissions
- setOwnerSearchable :: Bool -> Permissions -> Permissions
- setOwnerWritable :: Bool -> Permissions -> Permissions
- executablePath :: Maybe (IO (Maybe FilePath))
- getExecutablePath :: IO FilePath
- mkPos :: Int -> Pos
- unPos :: Pos -> Int
- initialPos :: FilePath -> SourcePos
- sourcePosPretty :: SourcePos -> String
- mkTimeout :: Integer -> Timeout
- testGroup :: TestName -> [TestTree] -> TestTree
- sequentialTestGroup :: TestName -> DependencyType -> [TestTree] -> TestTree
- after_ :: DependencyType -> Expr -> TestTree -> TestTree
- after :: DependencyType -> String -> TestTree -> TestTree
- includingOptions :: [OptionDescription] -> Ingredient
- defaultMainWithIngredients :: [Ingredient] -> TestTree -> IO ()
- defaultIngredients :: [Ingredient]
- adjustOption :: IsOption v => (v -> v) -> TestTree -> TestTree
- localOption :: IsOption v => v -> TestTree -> TestTree
- askOption :: IsOption v => (v -> TestTree) -> TestTree
- withResource :: IO a -> (a -> IO ()) -> (IO a -> TestTree) -> TestTree
- toRegex :: Text -> Either RegexError Regexp
- toRegexCI :: Text -> Either RegexError Regexp
- toRegex' :: Text -> Regexp
- toRegexCI' :: Text -> Regexp
- regexMatch :: Regexp -> String -> Bool
- regexMatchText :: Regexp -> Text -> Bool
- regexReplace :: Regexp -> Replacement -> String -> Either RegexError String
- regexReplaceUnmemo :: Regexp -> Replacement -> String -> Either RegexError String
- regexReplaceAllBy :: Regexp -> (String -> String) -> String -> String
- fromEFDay :: EFDay -> Day
- modifyEFDay :: (Day -> Day) -> EFDay -> EFDay
- isBalanceSheetAccountType :: AccountType -> Bool
- isIncomeStatementAccountType :: AccountType -> Bool
- isAccountSubtypeOf :: AccountType -> AccountType -> Bool
- isDecimalMark :: Char -> Bool
- maCompare :: MixedAmount -> MixedAmount -> Ordering
- nulltransactionmodifier :: TransactionModifier
- nullperiodictransaction :: PeriodicTransaction
- nullpayeedeclarationinfo :: PayeeDeclarationInfo
- nulltagdeclarationinfo :: TagDeclarationInfo
- nullaccountdeclarationinfo :: AccountDeclarationInfo
- runExceptT :: ExceptT e m a -> m (Either e a)
- periodAsDateSpan :: Period -> DateSpan
- dateSpanAsPeriod :: DateSpan -> Period
- simplifyPeriod :: Period -> Period
- isLastDayOfMonth :: (Eq a1, Eq a2, Num a1, Num a2) => Year -> a1 -> a2 -> Bool
- isStandardPeriod :: Period -> Bool
- periodTextWidth :: Period -> Int
- showPeriod :: Period -> Text
- showPeriodMonthAbbrev :: Period -> Text
- periodStart :: Period -> Maybe Day
- periodEnd :: Period -> Maybe Day
- periodNext :: Period -> Period
- periodPrevious :: Period -> Period
- periodNextIn :: DateSpan -> Period -> Period
- periodPreviousIn :: DateSpan -> Period -> Period
- periodMoveTo :: Day -> Period -> Period
- periodGrow :: Period -> Period
- periodShrink :: Day -> Period -> Period
- mondayBefore :: Day -> Day
- yearMonthContainingWeekStarting :: Day -> (Year, MonthOfYear)
- quarterContainingMonth :: Integral a => a -> a
- firstMonthOfQuarter :: Num a => a -> a
- startOfFirstWeekInMonth :: Integer -> Int -> Day
- customErrorBundlePretty :: HledgerParseErrors -> String
- wbToText :: WideBuilder -> Text
- wbFromText :: Text -> WideBuilder
- wbUnpack :: WideBuilder -> String
- textElideRight :: Int -> Text -> Text
- textChomp :: Text -> Text
- formatText :: Bool -> Maybe Int -> Maybe Int -> Text -> Text
- quoteIfSpaced :: Text -> Text
- textQuoteIfNeeded :: Text -> Text
- escapeDoubleQuotes :: Text -> Text
- stripquotes :: Text -> Text
- textUnbracket :: Text -> Text
- textConcatTopPadded :: [Text] -> Text
- textConcatBottomPadded :: [Text] -> Text
- fitText :: Maybe Int -> Maybe Int -> Bool -> Bool -> Text -> Text
- textTakeWidth :: Int -> Text -> Text
- linesPrepend :: Text -> Text -> Text
- linesPrepend2 :: Text -> Text -> Text -> Text
- unlinesB :: [Builder] -> Builder
- readDecimal :: Text -> Integer
- tests_Text :: TestTree
- pshow :: Show a => a -> String
- pshow' :: Show a => a -> String
- pprint :: Show a => a -> IO ()
- pprint' :: Show a => a -> IO ()
- getTerminalHeightWidth :: IO (Maybe (Int, Int))
- getTerminalHeight :: IO (Maybe Int)
- getTerminalWidth :: IO (Maybe Int)
- setupPager :: IO ()
- progArgs :: [String]
- outputFileOption :: Maybe String
- hasOutputFile :: Bool
- bold' :: String -> String
- faint' :: String -> String
- black' :: String -> String
- red' :: String -> String
- green' :: String -> String
- yellow' :: String -> String
- blue' :: String -> String
- magenta' :: String -> String
- cyan' :: String -> String
- white' :: String -> String
- brightBlack' :: String -> String
- brightRed' :: String -> String
- brightGreen' :: String -> String
- brightYellow' :: String -> String
- brightBlue' :: String -> String
- brightMagenta' :: String -> String
- brightCyan' :: String -> String
- brightWhite' :: String -> String
- rgb' :: Word8 -> Word8 -> Word8 -> String -> String
- colorOption :: String
- useColorOnStdout :: Bool
- useColorOnStderr :: Bool
- color :: ColorIntensity -> Color -> String -> String
- bgColor :: ColorIntensity -> Color -> String -> String
- colorB :: ColorIntensity -> Color -> WideBuilder -> WideBuilder
- bgColorB :: ColorIntensity -> Color -> WideBuilder -> WideBuilder
- terminalIsLight :: Maybe Bool
- terminalLightness :: Maybe Float
- terminalBgColor :: Maybe (RGB Float)
- terminalFgColor :: Maybe (RGB Float)
- error' :: String -> a
- usageError :: String -> a
- expandHomePath :: FilePath -> IO FilePath
- expandPath :: FilePath -> FilePath -> IO FilePath
- expandGlob :: FilePath -> FilePath -> IO [FilePath]
- sortByModTime :: [FilePath] -> IO [FilePath]
- readFilePortably :: FilePath -> IO Text
- readFileOrStdinPortably :: String -> IO Text
- readHandlePortably :: Handle -> IO Text
- embedFileRelative :: FilePath -> Q Exp
- getCurrentLocalTime :: IO LocalTime
- getCurrentZonedTime :: IO ZonedTime
- assertLeft :: (HasCallStack, Eq b, Show b) => Either a b -> Assertion
- assertRight :: (HasCallStack, Eq a, Show a) => Either a b -> Assertion
- assertParse :: (HasCallStack, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> Assertion
- assertParseEq :: (HasCallStack, Eq a, Show a, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> a -> Assertion
- assertParseEqOn :: (HasCallStack, Eq b, Show b, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> (a -> b) -> b -> Assertion
- assertParseError :: (HasCallStack, Eq a, Show a, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> String -> Assertion
- assertParseStateOn :: (HasCallStack, Eq b, Show b, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> (st -> b) -> b -> Assertion
- assertParseE :: (HasCallStack, Eq a, Show a, Default st) => StateT st (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError IO)) a -> Text -> Assertion
- assertParseEqE :: (Default st, Eq a, Show a, HasCallStack) => StateT st (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError IO)) a -> Text -> a -> Assertion
- assertParseErrorE :: (Default st, Eq a, Show a, HasCallStack) => StateT st (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError IO)) a -> Text -> String -> Assertion
- debugLevel :: Int
- ptrace :: Show a => a -> a
- traceAt :: Int -> String -> a -> a
- traceAtWith :: Int -> (a -> String) -> a -> a
- ptraceAt :: Show a => Int -> String -> a -> a
- ptraceAtIO :: (MonadIO m, Show a) => Int -> String -> a -> m ()
- traceLog :: String -> a -> a
- traceLogAt :: Int -> String -> a -> a
- traceLogIO :: MonadIO m => String -> m ()
- traceLogAtIO :: MonadIO m => Int -> String -> m ()
- traceLogWith :: (a -> String) -> a -> a
- traceLogAtWith :: Int -> (a -> String) -> a -> a
- ptraceLogAt :: Show a => Int -> String -> a -> a
- ptraceLogAtIO :: (MonadIO m, Show a) => Int -> String -> a -> m ()
- traceOrLog :: String -> a -> a
- traceOrLogAt :: Int -> String -> a -> a
- ptraceOrLogAt :: Show a => Int -> String -> a -> a
- ptraceOrLogAtIO :: (MonadIO m, Show a) => Int -> String -> a -> m ()
- traceOrLogAtWith :: Int -> (a -> String) -> a -> a
- dbg0 :: Show a => String -> a -> a
- dbg1 :: Show a => String -> a -> a
- dbg2 :: Show a => String -> a -> a
- dbg3 :: Show a => String -> a -> a
- dbg4 :: Show a => String -> a -> a
- dbg5 :: Show a => String -> a -> a
- dbg6 :: Show a => String -> a -> a
- dbg7 :: Show a => String -> a -> a
- dbg8 :: Show a => String -> a -> a
- dbg9 :: Show a => String -> a -> a
- dbgExit :: Show a => String -> a -> a
- dbg0IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg1IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg2IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg3IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg4IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg5IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg6IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg7IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg8IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg9IO :: (MonadIO m, Show a) => String -> a -> m ()
- dbg0With :: (a -> String) -> a -> a
- dbg1With :: Show a => (a -> String) -> a -> a
- dbg2With :: Show a => (a -> String) -> a -> a
- dbg3With :: Show a => (a -> String) -> a -> a
- dbg4With :: Show a => (a -> String) -> a -> a
- dbg5With :: Show a => (a -> String) -> a -> a
- dbg6With :: Show a => (a -> String) -> a -> a
- dbg7With :: Show a => (a -> String) -> a -> a
- dbg8With :: Show a => (a -> String) -> a -> a
- dbg9With :: Show a => (a -> String) -> a -> a
- traceOrLogParse :: forall (m :: Type -> Type). String -> TextParser m ()
- dbgparse :: forall (m :: Type -> Type). Int -> String -> TextParser m ()
- sourcePosPairPretty :: (SourcePos, SourcePos) -> String
- choice' :: forall (m :: Type -> Type) a. [TextParser m a] -> TextParser m a
- choiceInState :: forall s (m :: Type -> Type) a. [StateT s (ParsecT HledgerParseErrorData Text m) a] -> StateT s (ParsecT HledgerParseErrorData Text m) a
- surroundedBy :: Applicative m => m openclose -> m a -> m a
- parsewith :: Parsec e Text a -> Text -> Either (ParseErrorBundle Text e) a
- runTextParser :: TextParser Identity a -> Text -> Either HledgerParseErrors a
- rtp :: TextParser Identity a -> Text -> Either HledgerParseErrors a
- parsewithString :: Parsec e String a -> String -> Either (ParseErrorBundle String e) a
- parseWithState :: Monad m => st -> StateT st (ParsecT HledgerParseErrorData Text m) a -> Text -> m (Either HledgerParseErrors a)
- parseWithState' :: Stream s => st -> StateT st (ParsecT e s Identity) a -> s -> Either (ParseErrorBundle s e) a
- fromparse :: (Show t, Show (Token t), Show e) => Either (ParseErrorBundle t e) a -> a
- parseerror :: (Show t, Show (Token t), Show e) => ParseErrorBundle t e -> a
- showDateParseError :: (Show t, Show (Token t), Show e) => ParseErrorBundle t e -> String
- isNewline :: Char -> Bool
- nonspace :: forall (m :: Type -> Type). TextParser m Char
- isNonNewlineSpace :: Char -> Bool
- spacenonewline :: forall s (m :: Type -> Type). (Stream s, Char ~ Token s) => ParsecT HledgerParseErrorData s m Char
- restofline :: forall (m :: Type -> Type). TextParser m String
- skipNonNewlineSpaces :: forall s (m :: Type -> Type). (Stream s, Token s ~ Char) => ParsecT HledgerParseErrorData s m ()
- skipNonNewlineSpaces1 :: forall s (m :: Type -> Type). (Stream s, Token s ~ Char) => ParsecT HledgerParseErrorData s m ()
- skipNonNewlineSpaces' :: forall s (m :: Type -> Type). (Stream s, Token s ~ Char) => ParsecT HledgerParseErrorData s m Bool
- eolof :: forall (m :: Type -> Type). TextParser m ()
- lowercase :: String -> String
- uppercase :: String -> String
- strip :: String -> String
- lstrip :: String -> String
- rstrip :: String -> String
- strip1Char :: Char -> Char -> String -> String
- stripBy :: (Char -> Bool) -> String -> String
- strip1By :: (Char -> Bool) -> String -> String
- chomp1 :: String -> String
- singleline :: String -> String
- stripbrackets :: String -> String
- elideLeft :: Int -> String -> String
- elideRight :: Int -> String -> String
- underline :: String -> String
- quoteIfNeeded :: String -> String
- singleQuoteIfNeeded :: String -> String
- quoteForCommandLine :: String -> String
- words' :: String -> [String]
- unwords' :: [String] -> String
- takeWidth :: Int -> String -> String
- strWidthAnsi :: String -> Int
- strWidth :: String -> Int
- stripAnsi :: String -> String
- applyN :: Int -> (a -> a) -> a -> a
- mapM' :: Monad f => (a -> f b) -> [a] -> f [b]
- sequence' :: Monad f => [f a] -> f [a]
- curry2 :: ((a, b) -> c) -> a -> b -> c
- uncurry2 :: (a -> b -> c) -> (a, b) -> c
- curry4 :: ((a, b, c, d) -> e) -> a -> b -> c -> d -> e
- uncurry4 :: (a -> b -> c -> d -> e) -> (a, b, c, d) -> e
- maximum' :: Integral a => [a] -> a
- maximumStrict :: Ord a => [a] -> a
- minimumStrict :: Ord a => [a] -> a
- splitAtElement :: Eq a => a -> [a] -> [[a]]
- sumStrict :: Num a => [a] -> a
- treeLeaves :: Tree a -> [a]
- first4 :: (a, b, c, d) -> a
- second4 :: (a, b, c, d) -> b
- third4 :: (a, b, c, d) -> c
- fourth4 :: (a, b, c, d) -> d
- first5 :: (a, b, c, d, e) -> a
- second5 :: (a, b, c, d, e) -> b
- third5 :: (a, b, c, d, e) -> c
- fourth5 :: (a, b, c, d, e) -> d
- fifth5 :: (a, b, c, d, e) -> e
- first6 :: (a, b, c, d, e, f) -> a
- second6 :: (a, b, c, d, e, f) -> b
- third6 :: (a, b, c, d, e, f) -> c
- fourth6 :: (a, b, c, d, e, f) -> d
- fifth6 :: (a, b, c, d, e, f) -> e
- sixth6 :: (a, b, c, d, e, f) -> f
- multicol :: Int -> [String] -> String
- numDigitsInt :: Integral a => Int -> a
- makeHledgerClassyLenses :: Name -> DecsQ
- tests_Utils :: TestTree
- overRawOpts :: ([(String, String)] -> [(String, String)]) -> RawOpts -> RawOpts
- setopt :: String -> String -> RawOpts -> RawOpts
- setboolopt :: String -> RawOpts -> RawOpts
- unsetboolopt :: String -> RawOpts -> RawOpts
- appendopts :: [(String, String)] -> RawOpts -> RawOpts
- boolopt :: String -> RawOpts -> Bool
- toggleopt :: String -> RawOpts -> Bool
- choiceopt :: (String -> Maybe a) -> RawOpts -> Maybe a
- collectopts :: ((String, String) -> Maybe a) -> RawOpts -> [a]
- maybestringopt :: String -> RawOpts -> Maybe String
- stringopt :: String -> RawOpts -> String
- maybecharopt :: String -> RawOpts -> Maybe Char
- listofstringopt :: String -> RawOpts -> [String]
- maybeintopt :: String -> RawOpts -> Maybe Int
- maybeposintopt :: String -> RawOpts -> Maybe Int
- intopt :: String -> RawOpts -> Int
- posintopt :: String -> RawOpts -> Int
- showDate :: Day -> Text
- showEFDate :: EFDay -> Text
- showDateSpan :: DateSpan -> Text
- showDateSpanDebug :: DateSpan -> String
- showDateSpanMonthAbbrev :: DateSpan -> Text
- getCurrentDay :: IO Day
- getCurrentMonth :: IO Int
- getCurrentYear :: IO Integer
- elapsedSeconds :: Fractional a => UTCTime -> UTCTime -> a
- spanStart :: DateSpan -> Maybe Day
- spanStartYear :: DateSpan -> Maybe Year
- spanEndYear :: DateSpan -> Maybe Year
- spanYears :: DateSpan -> [Year]
- spansSpan :: [DateSpan] -> DateSpan
- splitSpan :: Bool -> Interval -> DateSpan -> [DateSpan]
- spansFromBoundaries :: Day -> [Day] -> [DateSpan]
- daysInSpan :: DateSpan -> Maybe Integer
- spanContainsDate :: DateSpan -> Day -> Bool
- periodContainsDate :: Period -> Day -> Bool
- groupByDateSpan :: Bool -> (a -> Day) -> [DateSpan] -> [a] -> [(DateSpan, [a])]
- spansIntersect :: [DateSpan] -> DateSpan
- spanIntersect :: DateSpan -> DateSpan -> DateSpan
- spanDefaultsFrom :: DateSpan -> DateSpan -> DateSpan
- spansUnion :: [DateSpan] -> DateSpan
- spanUnion :: DateSpan -> DateSpan -> DateSpan
- daysSpan :: [Day] -> DateSpan
- latestSpanContaining :: [DateSpan] -> Day -> Maybe DateSpan
- parsePeriodExpr :: Day -> Text -> Either HledgerParseErrors (Interval, DateSpan)
- parsePeriodExpr' :: Day -> Text -> (Interval, DateSpan)
- fixSmartDateStr :: Day -> Text -> Text
- fixSmartDateStrEither :: Day -> Text -> Either HledgerParseErrors Text
- fixSmartDateStrEither' :: Day -> Text -> Either HledgerParseErrors EFDay
- fixSmartDate :: Day -> SmartDate -> EFDay
- prevday :: Day -> Day
- intervalBoundaryBefore :: Interval -> Day -> Day
- parsedateM :: String -> Maybe Day
- smartdate :: forall (m :: Type -> Type). TextParser m SmartDate
- datesepchars :: String
- datesepchar :: forall (m :: Type -> Type). TextParser m Char
- isDateSepChar :: Char -> Bool
- yearp :: forall (m :: Type -> Type). TextParser m Integer
- periodexprp :: forall (m :: Type -> Type). Day -> TextParser m (Interval, DateSpan)
- nulldatespan :: DateSpan
- emptydatespan :: DateSpan
- nulldate :: Day
- tests_Dates :: TestTree
- acctsepchar :: Char
- acctsep :: Text
- accountNameComponents :: AccountName -> [Text]
- accountNameFromComponents :: [Text] -> AccountName
- accountLeafName :: AccountName -> Text
- accountSummarisedName :: AccountName -> Text
- assetAccountRegex :: Regexp
- cashAccountRegex :: Regexp
- liabilityAccountRegex :: Regexp
- equityAccountRegex :: Regexp
- conversionAccountRegex :: Regexp
- revenueAccountRegex :: Regexp
- expenseAccountRegex :: Regexp
- accountNameInferType :: AccountName -> Maybe AccountType
- accountNameType :: Map AccountName AccountType -> AccountName -> Maybe AccountType
- accountNameLevel :: AccountName -> Int
- unbudgetedAccountName :: Text
- accountNamePostingType :: AccountName -> PostingType
- accountNameWithoutPostingType :: AccountName -> AccountName
- accountNameWithPostingType :: PostingType -> AccountName -> AccountName
- joinAccountNames :: AccountName -> AccountName -> AccountName
- concatAccountNames :: [AccountName] -> AccountName
- accountNameApplyAliases :: [AccountAlias] -> AccountName -> Either RegexError AccountName
- accountNameApplyAliasesMemo :: [AccountAlias] -> AccountName -> Either RegexError AccountName
- accountNameDrop :: Int -> AccountName -> AccountName
- expandAccountNames :: [AccountName] -> [AccountName]
- expandAccountName :: AccountName -> [AccountName]
- topAccountNames :: [AccountName] -> [AccountName]
- parentAccountName :: AccountName -> AccountName
- parentAccountNames :: AccountName -> [AccountName]
- isAccountNamePrefixOf :: AccountName -> AccountName -> Bool
- isSubAccountNameOf :: AccountName -> AccountName -> Bool
- subAccountNamesFrom :: [AccountName] -> AccountName -> [AccountName]
- accountNameTreeFrom :: [AccountName] -> Tree AccountName
- elideAccountName :: Int -> AccountName -> AccountName
- clipAccountName :: Maybe Int -> AccountName -> AccountName
- clipOrEllipsifyAccountName :: Maybe Int -> AccountName -> AccountName
- escapeName :: AccountName -> Text
- accountNameToAccountRegex :: AccountName -> Regexp
- accountNameToAccountRegexCI :: AccountName -> Regexp
- accountNameToAccountOnlyRegex :: AccountName -> Regexp
- accountNameToAccountOnlyRegexCI :: AccountName -> Regexp
- tests_AccountName :: TestTree
- defaultBalanceLineFormat :: StringFormat
- parseStringFormat :: Text -> Either String StringFormat
- defaultStringFormatStyle :: [StringFormatComponent] -> StringFormat
- tests_StringFormat :: TestTree
- showCommoditySymbol :: Text -> Text
- isNonsimpleCommodityChar :: Char -> Bool
- quoteCommoditySymbolIfNeeded :: Text -> Text
- noColour :: AmountDisplayOpts
- noPrice :: AmountDisplayOpts
- csvDisplay :: AmountDisplayOpts
- amountstyle :: AmountStyle
- nullamt :: Amount
- missingamt :: Amount
- num :: Quantity -> Amount
- hrs :: Quantity -> Amount
- usd :: DecimalRaw Integer -> Amount
- eur :: DecimalRaw Integer -> Amount
- gbp :: DecimalRaw Integer -> Amount
- per :: Quantity -> Amount
- at :: Amount -> Amount -> Amount
- (@@) :: Amount -> Amount -> Amount
- amountWithCommodity :: CommoditySymbol -> Amount -> Amount
- amountCost :: Amount -> Amount
- divideAmount :: Quantity -> Amount -> Amount
- multiplyAmount :: Quantity -> Amount -> Amount
- isNegativeAmount :: Amount -> Bool
- amountLooksZero :: Amount -> Bool
- amountIsZero :: Amount -> Bool
- withPrecision :: Amount -> AmountPrecision -> Amount
- amountSetPrecision :: AmountPrecision -> Amount -> Amount
- amountSetFullPrecision :: Amount -> Amount
- setAmountInternalPrecision :: Word8 -> Amount -> Amount
- withInternalPrecision :: Amount -> Word8 -> Amount
- setAmountDecimalPoint :: Maybe Char -> Amount -> Amount
- withDecimalPoint :: Amount -> Maybe Char -> Amount
- amountStripPrices :: Amount -> Amount
- showAmountPrice :: Amount -> WideBuilder
- canonicaliseAmount :: Map CommoditySymbol AmountStyle -> Amount -> Amount
- styleAmount :: Map CommoditySymbol AmountStyle -> Amount -> Amount
- amountSetStyles :: Map CommoditySymbol AmountStyle -> Amount -> Amount
- amountSetStylesExceptPrecision :: Map CommoditySymbol AmountStyle -> Amount -> Amount
- amountStyleUnsetPrecision :: AmountStyle -> AmountStyle
- amountSetMainStyle :: Map CommoditySymbol AmountStyle -> Amount -> Amount
- amountSetCostStyle :: Map CommoditySymbol AmountStyle -> Amount -> Amount
- amountUnstyled :: Amount -> Amount
- showAmount :: Amount -> String
- showAmountB :: AmountDisplayOpts -> Amount -> WideBuilder
- cshowAmount :: Amount -> String
- showAmountWithoutPrice :: Amount -> String
- showAmountWithZeroCommodity :: Amount -> String
- showAmountDebug :: Amount -> String
- nullmixedamt :: MixedAmount
- missingmixedamt :: MixedAmount
- isMissingMixedAmount :: MixedAmount -> Bool
- mixed :: Foldable t => t Amount -> MixedAmount
- mixedAmount :: Amount -> MixedAmount
- maAddAmount :: MixedAmount -> Amount -> MixedAmount
- maAddAmounts :: Foldable t => MixedAmount -> t Amount -> MixedAmount
- maNegate :: MixedAmount -> MixedAmount
- maPlus :: MixedAmount -> MixedAmount -> MixedAmount
- maMinus :: MixedAmount -> MixedAmount -> MixedAmount
- maSum :: Foldable t => t MixedAmount -> MixedAmount
- divideMixedAmount :: Quantity -> MixedAmount -> MixedAmount
- multiplyMixedAmount :: Quantity -> MixedAmount -> MixedAmount
- averageMixedAmounts :: [MixedAmount] -> MixedAmount
- isNegativeMixedAmount :: MixedAmount -> Maybe Bool
- mixedAmountLooksZero :: MixedAmount -> Bool
- mixedAmountIsZero :: MixedAmount -> Bool
- maIsZero :: MixedAmount -> Bool
- maIsNonZero :: MixedAmount -> Bool
- amounts :: MixedAmount -> [Amount]
- amountsPreservingZeros :: MixedAmount -> [Amount]
- amountsRaw :: MixedAmount -> [Amount]
- maCommodities :: MixedAmount -> Set CommoditySymbol
- unifyMixedAmount :: MixedAmount -> Maybe Amount
- filterMixedAmount :: (Amount -> Bool) -> MixedAmount -> MixedAmount
- filterMixedAmountByCommodity :: CommoditySymbol -> MixedAmount -> MixedAmount
- mapMixedAmount :: (Amount -> Amount) -> MixedAmount -> MixedAmount
- mixedAmountCost :: MixedAmount -> MixedAmount
- canonicaliseMixedAmount :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount
- styleMixedAmount :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount
- mixedAmountSetStyles :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount
- mixedAmountSetStylesExceptPrecision :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount
- mixedAmountUnstyled :: MixedAmount -> MixedAmount
- showMixedAmount :: MixedAmount -> String
- showMixedAmountOneLine :: MixedAmount -> String
- showMixedAmountWithZeroCommodity :: MixedAmount -> String
- showMixedAmountWithoutPrice :: Bool -> MixedAmount -> String
- showMixedAmountOneLineWithoutPrice :: Bool -> MixedAmount -> String
- showMixedAmountElided :: Int -> Bool -> MixedAmount -> String
- showMixedAmountDebug :: MixedAmount -> String
- showMixedAmountB :: AmountDisplayOpts -> MixedAmount -> WideBuilder
- showMixedAmountLinesB :: AmountDisplayOpts -> MixedAmount -> [WideBuilder]
- mixedAmountSetPrecision :: AmountPrecision -> MixedAmount -> MixedAmount
- mixedAmountSetFullPrecision :: MixedAmount -> MixedAmount
- mixedAmountStripPrices :: MixedAmount -> MixedAmount
- tests_Amount :: TestTree
- journalPriceOracle :: Bool -> Journal -> PriceOracle
- priceDirectiveToMarketPrice :: PriceDirective -> MarketPrice
- amountPriceDirectiveFromCost :: Day -> Amount -> Maybe PriceDirective
- mixedAmountToCost :: Map CommoditySymbol AmountStyle -> ConversionOp -> MixedAmount -> MixedAmount
- mixedAmountApplyValuation :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> Day -> ValuationType -> MixedAmount -> MixedAmount
- mixedAmountValueAtDate :: PriceOracle -> Map CommoditySymbol AmountStyle -> Maybe CommoditySymbol -> Day -> MixedAmount -> MixedAmount
- mixedAmountApplyGain :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> Day -> ValuationType -> MixedAmount -> MixedAmount
- mixedAmountGainAtDate :: PriceOracle -> Map CommoditySymbol AmountStyle -> Maybe CommoditySymbol -> Day -> MixedAmount -> MixedAmount
- marketPriceReverse :: MarketPrice -> MarketPrice
- tests_Valuation :: TestTree
- nullposting :: Posting
- posting :: Posting
- post :: AccountName -> Amount -> Posting
- vpost :: AccountName -> Amount -> Posting
- post' :: AccountName -> Amount -> Maybe BalanceAssertion -> Posting
- vpost' :: AccountName -> Amount -> Maybe BalanceAssertion -> Posting
- nullsourcepos :: (SourcePos, SourcePos)
- nullassertion :: BalanceAssertion
- balassert :: Amount -> Maybe BalanceAssertion
- balassertTot :: Amount -> Maybe BalanceAssertion
- balassertParInc :: Amount -> Maybe BalanceAssertion
- balassertTotInc :: Amount -> Maybe BalanceAssertion
- showBalanceAssertion :: BalanceAssertion -> WideBuilder
- originalPosting :: Posting -> Posting
- showPosting :: Posting -> String
- showPostingLines :: Posting -> [Text]
- postingsAsLines :: Bool -> [Posting] -> [Text]
- postingAsLines :: Bool -> Bool -> Int -> Int -> Posting -> ([Text], Int, Int)
- showAccountName :: Maybe Int -> PostingType -> AccountName -> Text
- renderCommentLines :: Text -> [Text]
- isReal :: Posting -> Bool
- isVirtual :: Posting -> Bool
- isBalancedVirtual :: Posting -> Bool
- hasAmount :: Posting -> Bool
- hasBalanceAssignment :: Posting -> Bool
- accountNamesFromPostings :: [Posting] -> [AccountName]
- sumPostings :: [Posting] -> MixedAmount
- postingStripPrices :: Posting -> Posting
- postingDate :: Posting -> Day
- postingDate2 :: Posting -> Day
- postingDateOrDate2 :: WhichDate -> Posting -> Day
- postingStatus :: Posting -> Status
- postingAllTags :: Posting -> [Tag]
- transactionAllTags :: Transaction -> [Tag]
- relatedPostings :: Posting -> [Posting]
- isPostingInDateSpan :: DateSpan -> Posting -> Bool
- isPostingInDateSpan' :: WhichDate -> DateSpan -> Posting -> Bool
- isEmptyPosting :: Posting -> Bool
- postingApplyAliases :: [AccountAlias] -> Posting -> Either RegexError Posting
- postingApplyCommodityStyles :: Map CommoditySymbol AmountStyle -> Posting -> Posting
- postingApplyCommodityStylesExceptPrecision :: Map CommoditySymbol AmountStyle -> Posting -> Posting
- postingAddTags :: Posting -> [Tag] -> Posting
- postingApplyValuation :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> ValuationType -> Posting -> Posting
- postingToCost :: ConversionOp -> Posting -> Maybe Posting
- postingAddInferredEquityPostings :: Bool -> Text -> Posting -> [Posting]
- postingPriceDirectivesFromCost :: Posting -> [PriceDirective]
- postingTransformAmount :: (MixedAmount -> MixedAmount) -> Posting -> Posting
- commentJoin :: Text -> Text -> Text
- commentAddTag :: Text -> Tag -> Text
- commentAddTagNextLine :: Text -> Tag -> Text
- tests_Posting :: TestTree
- nulltransaction :: Transaction
- transaction :: Day -> [Posting] -> Transaction
- transactionPayee :: Transaction -> Text
- transactionNote :: Transaction -> Text
- showTransaction :: Transaction -> Text
- showTransactionOneLineAmounts :: Transaction -> Text
- showTransactionLineFirstPart :: Transaction -> Text
- hasRealPostings :: Transaction -> Bool
- realPostings :: Transaction -> [Posting]
- assignmentPostings :: Transaction -> [Posting]
- virtualPostings :: Transaction -> [Posting]
- balancedVirtualPostings :: Transaction -> [Posting]
- transactionsPostings :: [Transaction] -> [Posting]
- transactionDate2 :: Transaction -> Day
- transactionDateOrDate2 :: WhichDate -> Transaction -> Day
- txnTieKnot :: Transaction -> Transaction
- txnUntieKnot :: Transaction -> Transaction
- transactionTransformPostings :: (Posting -> Posting) -> Transaction -> Transaction
- transactionApplyValuation :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> ValuationType -> Transaction -> Transaction
- transactionToCost :: ConversionOp -> Transaction -> Transaction
- transactionAddInferredEquityPostings :: Bool -> AccountName -> Transaction -> Transaction
- transactionInferCostsFromEquity :: Bool -> Map AccountName AccountType -> Transaction -> Either String Transaction
- partitionAndCheckConversionPostings :: Bool -> Map AccountName AccountType -> [IdxPosting] -> Either Text ([(IdxPosting, IdxPosting)], ([IdxPosting], [IdxPosting]))
- transactionApplyAliases :: [AccountAlias] -> Transaction -> Either RegexError Transaction
- transactionMapPostings :: (Posting -> Posting) -> Transaction -> Transaction
- transactionMapPostingAmounts :: (MixedAmount -> MixedAmount) -> Transaction -> Transaction
- transactionFile :: Transaction -> FilePath
- annotateErrorWithTransaction :: Transaction -> String -> String
- tests_Transaction :: TestTree
- payeeTag :: Maybe Text -> Either RegexError Query
- noteTag :: Maybe Text -> Either RegexError Query
- generatedTransactionTag :: Query
- parseQuery :: Day -> Text -> Either String (Query, [QueryOpt])
- parseQueryList :: Day -> [Text] -> Either String (Query, [QueryOpt])
- words'' :: [Text] -> Text -> [Text]
- queryprefixes :: [Text]
- parseQueryTerm :: Day -> Text -> Either String (Query, [QueryOpt])
- parseAccountType :: Bool -> Text -> Either String AccountType
- simplifyQuery :: Query -> Query
- filterQuery :: (Query -> Bool) -> Query -> Query
- filterQueryOrNotQuery :: (Query -> Bool) -> Query -> Query
- matchesQuery :: (Query -> Bool) -> Query -> Bool
- queryIsNull :: Query -> Bool
- queryIsDate :: Query -> Bool
- queryIsDate2 :: Query -> Bool
- queryIsDateOrDate2 :: Query -> Bool
- queryIsStatus :: Query -> Bool
- queryIsCode :: Query -> Bool
- queryIsDesc :: Query -> Bool
- queryIsTag :: Query -> Bool
- queryIsAcct :: Query -> Bool
- queryIsType :: Query -> Bool
- queryIsDepth :: Query -> Bool
- queryIsReal :: Query -> Bool
- queryIsAmt :: Query -> Bool
- queryIsSym :: Query -> Bool
- queryIsStartDateOnly :: Bool -> Query -> Bool
- queryIsTransactionRelated :: Query -> Bool
- queryStartDate :: Bool -> Query -> Maybe Day
- queryEndDate :: Bool -> Query -> Maybe Day
- queryDateSpan :: Bool -> Query -> DateSpan
- queryDateSpan' :: Query -> DateSpan
- queryDepth :: Query -> Maybe Int
- inAccount :: [QueryOpt] -> Maybe (AccountName, Bool)
- inAccountQuery :: [QueryOpt] -> Maybe Query
- matchesCommodity :: Query -> CommoditySymbol -> Bool
- matchesAmount :: Query -> Amount -> Bool
- matchesMixedAmount :: Query -> MixedAmount -> Bool
- matchesAccount :: Query -> AccountName -> Bool
- matchesAccountExtra :: (AccountName -> Maybe AccountType) -> (AccountName -> [Tag]) -> Query -> AccountName -> Bool
- matchesPosting :: Query -> Posting -> Bool
- matchesPostingExtra :: (AccountName -> Maybe AccountType) -> Query -> Posting -> Bool
- matchesTransaction :: Query -> Transaction -> Bool
- matchesTransactionExtra :: (AccountName -> Maybe AccountType) -> Query -> Transaction -> Bool
- matchesDescription :: Query -> Text -> Bool
- matchesPayeeWIP :: Query -> Payee -> Bool
- matchesTags :: Regexp -> Maybe Regexp -> [Tag] -> Bool
- matchesPriceDirective :: Query -> PriceDirective -> Bool
- tests_Query :: TestTree
- modifyTransactions :: (AccountName -> Maybe AccountType) -> (AccountName -> [Tag]) -> Map CommoditySymbol AmountStyle -> Day -> Bool -> [TransactionModifier] -> [Transaction] -> Either String [Transaction]
- timeclockEntriesToTransactions :: LocalTime -> [TimeclockEntry] -> [Transaction]
- tests_Timeclock :: TestTree
- makeAccountTagErrorExcerpt :: (AccountName, AccountDeclarationInfo) -> TagName -> (FilePath, Int, Maybe (Int, Maybe Int), Text)
- makeTransactionErrorExcerpt :: Transaction -> (Transaction -> Maybe (Int, Maybe Int)) -> (FilePath, Int, Maybe (Int, Maybe Int), Text)
- makePostingErrorExcerpt :: Posting -> (Posting -> Transaction -> Text -> Maybe (Int, Maybe Int)) -> (FilePath, Int, Maybe (Int, Maybe Int), Text)
- transactionFindPostingIndex :: (Posting -> Bool) -> Transaction -> Maybe Int
- makePostingAccountErrorExcerpt :: Posting -> (FilePath, Int, Maybe (Int, Maybe Int), Text)
- makeBalanceAssertionErrorExcerpt :: Posting -> (FilePath, Int, Maybe (Int, Maybe Int), Text)
- journalCheckOrdereddates :: WhichDate -> Journal -> Either String ()
- runPeriodicTransaction :: Bool -> PeriodicTransaction -> DateSpan -> [Transaction]
- checkPeriodicTransactionStartDate :: Interval -> DateSpan -> Text -> Maybe String
- toJsonText :: ToJSON a => a -> Text
- writeJsonFile :: ToJSON a => FilePath -> a -> IO ()
- readJsonFile :: FromJSON a => FilePath -> IO a
- journalConcat :: Journal -> Journal -> Journal
- journalRenumberAccountDeclarations :: Journal -> Journal
- dbgJournalAcctDeclOrder :: String -> Journal -> Journal
- nulljournal :: Journal
- journalFilePath :: Journal -> FilePath
- journalFilePaths :: Journal -> [FilePath]
- addTransaction :: Transaction -> Journal -> Journal
- addTransactionModifier :: TransactionModifier -> Journal -> Journal
- addPeriodicTransaction :: PeriodicTransaction -> Journal -> Journal
- addPriceDirective :: PriceDirective -> Journal -> Journal
- journalTransactionAt :: Journal -> Integer -> Maybe Transaction
- journalNextTransaction :: Journal -> Transaction -> Maybe Transaction
- journalPrevTransaction :: Journal -> Transaction -> Maybe Transaction
- journalPostings :: Journal -> [Posting]
- journalCommoditiesDeclared :: Journal -> [CommoditySymbol]
- journalCommodities :: Journal -> Set CommoditySymbol
- journalDescriptions :: Journal -> [Text]
- journalPayeesDeclared :: Journal -> [Payee]
- journalPayeesUsed :: Journal -> [Payee]
- journalPayeesDeclaredOrUsed :: Journal -> [Payee]
- journalTagsDeclared :: Journal -> [TagName]
- journalTagsUsed :: Journal -> [TagName]
- journalTagsDeclaredOrUsed :: Journal -> [TagName]
- journalAccountNamesUsed :: Journal -> [AccountName]
- journalAccountNamesImplied :: Journal -> [AccountName]
- journalAccountNamesDeclared :: Journal -> [AccountName]
- journalLeafAccountNamesDeclared :: Journal -> [AccountName]
- journalAccountNamesDeclaredOrUsed :: Journal -> [AccountName]
- journalAccountNamesDeclaredOrImplied :: Journal -> [AccountName]
- journalAccountNames :: Journal -> [AccountName]
- journalLeafAccountNames :: Journal -> [AccountName]
- journalAccountNameTree :: Journal -> Tree AccountName
- journalAccountTags :: Journal -> AccountName -> [Tag]
- journalInheritedAccountTags :: Journal -> AccountName -> [Tag]
- journalTransactionsSimilarTo :: Journal -> Text -> Query -> SimilarityScore -> Int -> [(DateWeightedSimilarityScore, Age, SimilarityScore, Transaction)]
- journalConversionAccount :: Journal -> AccountName
- journalAccountType :: Journal -> AccountName -> Maybe AccountType
- journalAddAccountTypes :: Journal -> Journal
- journalAccountTypes :: Journal -> Map AccountName AccountType
- journalPostingsAddAccountTags :: Journal -> Journal
- filterJournalTransactions :: Query -> Journal -> Journal
- filterJournalPostings :: Query -> Journal -> Journal
- filterJournalRelatedPostings :: Query -> Journal -> Journal
- filterJournalAmounts :: Query -> Journal -> Journal
- filterTransactionAmounts :: Query -> Transaction -> Transaction
- filterPostingAmount :: Query -> Posting -> Maybe Posting
- filterTransactionPostings :: Query -> Transaction -> Transaction
- filterTransactionPostingsExtra :: (AccountName -> Maybe AccountType) -> Query -> Transaction -> Transaction
- filterTransactionRelatedPostings :: Query -> Transaction -> Transaction
- journalMapTransactions :: (Transaction -> Transaction) -> Journal -> Journal
- journalMapPostings :: (Posting -> Posting) -> Journal -> Journal
- journalMapPostingAmounts :: (MixedAmount -> MixedAmount) -> Journal -> Journal
- journalReverse :: Journal -> Journal
- journalSetLastReadTime :: POSIXTime -> Journal -> Journal
- journalNumberAndTieTransactions :: Journal -> Journal
- journalNumberTransactions :: Journal -> Journal
- journalUntieTransactions :: Transaction -> Transaction
- journalModifyTransactions :: Bool -> Day -> Journal -> Either String Journal
- journalApplyCommodityStyles :: Journal -> Either String Journal
- journalCommodityStyles :: Journal -> Map CommoditySymbol AmountStyle
- commodityStylesFromAmounts :: [Amount] -> Either String (Map CommoditySymbol AmountStyle)
- canonicalStyleFrom :: [AmountStyle] -> AmountStyle
- journalInferMarketPricesFromTransactions :: Journal -> Journal
- journalToCost :: ConversionOp -> Journal -> Journal
- journalInferEquityFromCosts :: Bool -> Journal -> Journal
- journalInferCostsFromEquity :: Journal -> Either String Journal
- journalMarkRedundantCosts :: Journal -> Either String Journal
- journalDateSpan :: Bool -> Journal -> DateSpan
- journalDateSpanBothDates :: Journal -> DateSpan
- journalStartDate :: Bool -> Journal -> Maybe Day
- journalEndDate :: Bool -> Journal -> Maybe Day
- journalLastDay :: Bool -> Journal -> Maybe Day
- journalPivot :: Text -> Journal -> Journal
- journalApplyAliases :: [AccountAlias] -> Journal -> Either RegexError Journal
- samplejournal :: Journal
- samplejournalMaybeExplicit :: Bool -> Journal
- tests_Journal :: TestTree
- journalCheckUniqueleafnames :: Journal -> Either String ()
- journalCheckAccounts :: Journal -> Either String ()
- journalCheckCommodities :: Journal -> Either String ()
- journalCheckPayees :: Journal -> Either String ()
- journalCheckTags :: Journal -> Either String ()
- journalCheckPairedConversionPostings :: Journal -> Either String ()
- journalCheckRecentAssertions :: Day -> Journal -> Either String ()
- defbalancingopts :: BalancingOpts
- isTransactionBalanced :: BalancingOpts -> Transaction -> Bool
- balanceTransaction :: BalancingOpts -> Transaction -> Either String Transaction
- balanceTransactionHelper :: BalancingOpts -> Transaction -> Either String (Transaction, [(AccountName, MixedAmount)])
- journalCheckBalanceAssertions :: Journal -> Maybe String
- journalBalanceTransactions :: BalancingOpts -> Journal -> Either String Journal
- tests_Balancing :: TestTree
- definputopts :: InputOpts
- forecastPeriod :: InputOpts -> Journal -> Maybe DateSpan
- nullacct :: Account
- accountsFromPostings :: [Posting] -> [Account]
- accountTree :: AccountName -> [AccountName] -> Account
- parentAccounts :: Account -> [Account]
- accountsLevels :: Account -> [[Account]]
- mapAccounts :: (Account -> Account) -> Account -> Account
- anyAccounts :: (Account -> Bool) -> Account -> Bool
- sumAccounts :: Account -> Account
- clipAccounts :: Int -> Account -> Account
- clipAccountsAndAggregate :: Maybe Int -> [Account] -> [Account]
- pruneAccounts :: (Account -> Bool) -> Account -> Maybe Account
- flattenAccounts :: Account -> [Account]
- filterAccounts :: (Account -> Bool) -> Account -> [Account]
- sortAccountTreeByAmount :: NormalSign -> Account -> Account
- accountSetDeclarationInfo :: Journal -> Account -> Account
- sortAccountNamesByDeclaration :: Journal -> Bool -> [AccountName] -> [AccountName]
- lookupAccount :: AccountName -> [Account] -> Maybe Account
- printAccounts :: Account -> IO ()
- showAccounts :: Account -> String
- showAccountsBoringFlag :: Account -> String
- nullledger :: Ledger
- ledgerFromJournal :: Query -> Journal -> Ledger
- ledgerAccountNames :: Ledger -> [AccountName]
- ledgerAccount :: Ledger -> AccountName -> Maybe Account
- ledgerRootAccount :: Ledger -> Account
- ledgerTopAccounts :: Ledger -> [Account]
- ledgerLeafAccounts :: Ledger -> [Account]
- ledgerPostings :: Ledger -> [Posting]
- ledgerDateSpan :: Ledger -> DateSpan
- ledgerCommodities :: Ledger -> [CommoditySymbol]
- tests_Ledger :: TestTree
- tests_Data :: TestTree
- defreportopts :: ReportOpts
- rawOptsToReportOpts :: Day -> RawOpts -> ReportOpts
- defreportspec :: ReportSpec
- setDefaultConversionOp :: ConversionOp -> ReportSpec -> ReportSpec
- balanceAccumulationOverride :: RawOpts -> Maybe BalanceAccumulation
- intervalFromRawOpts :: RawOpts -> Interval
- simplifyStatuses :: Ord a => [a] -> [a]
- reportOptsToggleStatus :: Status -> ReportOpts -> ReportOpts
- transactionDateFn :: ReportOpts -> Transaction -> Day
- postingDateFn :: ReportOpts -> Posting -> Day
- whichDate :: ReportOpts -> WhichDate
- tree_ :: ReportOpts -> Bool
- flat_ :: ReportOpts -> Bool
- journalValueAndFilterPostings :: ReportSpec -> Journal -> Journal
- journalValueAndFilterPostingsWith :: ReportSpec -> Journal -> PriceOracle -> Journal
- journalApplyValuationFromOpts :: ReportSpec -> Journal -> Journal
- journalApplyValuationFromOptsWith :: ReportSpec -> Journal -> PriceOracle -> Journal
- mixedAmountApplyValuationAfterSumFromOptsWith :: ReportOpts -> Journal -> PriceOracle -> DateSpan -> MixedAmount -> MixedAmount
- valuationAfterSum :: ReportOpts -> Maybe (Maybe CommoditySymbol)
- queryFromFlags :: ReportOpts -> Query
- reportSpan :: Journal -> ReportSpec -> (DateSpan, [DateSpan])
- reportSpanBothDates :: Journal -> ReportSpec -> (DateSpan, [DateSpan])
- reportStartDate :: Journal -> ReportSpec -> Maybe Day
- reportEndDate :: Journal -> ReportSpec -> Maybe Day
- reportPeriodStart :: ReportSpec -> Maybe Day
- reportPeriodOrJournalStart :: ReportSpec -> Journal -> Maybe Day
- reportPeriodLastDay :: ReportSpec -> Maybe Day
- reportPeriodOrJournalLastDay :: ReportSpec -> Journal -> Maybe Day
- reportPeriodName :: BalanceAccumulation -> [DateSpan] -> DateSpan -> Text
- overEither :: ((a -> Either e b) -> s -> Either e t) -> (a -> b) -> s -> Either e t
- setEither :: ((a -> Either e b) -> s -> Either e t) -> b -> s -> Either e t
- reportOptsToSpec :: Day -> ReportOpts -> Either String ReportSpec
- updateReportSpec :: ReportOpts -> ReportSpec -> Either String ReportSpec
- updateReportSpecWith :: (ReportOpts -> ReportOpts) -> ReportSpec -> Either String ReportSpec
- rawOptsToReportSpec :: Day -> RawOpts -> Either String ReportSpec
- prrAdd :: Semigroup b => PeriodicReportRow a b -> PeriodicReportRow a b -> PeriodicReportRow a b
- periodicReportSpan :: PeriodicReport a b -> DateSpan
- prMapName :: (a -> b) -> PeriodicReport a c -> PeriodicReport b c
- prMapMaybeName :: (a -> Maybe b) -> PeriodicReport a c -> PeriodicReport b c
- flatDisplayName :: AccountName -> DisplayName
- treeDisplayName :: AccountName -> DisplayName
- prrFullName :: PeriodicReportRow DisplayName a -> AccountName
- prrDisplayName :: PeriodicReportRow DisplayName a -> AccountName
- prrDepth :: PeriodicReportRow DisplayName a -> Int
- postingsReport :: ReportSpec -> Journal -> PostingsReport
- mkpostingsReportItem :: Bool -> Bool -> WhichDate -> Maybe Period -> Posting -> MixedAmount -> PostingsReportItem
- tests_PostingsReport :: TestTree
- multiBalanceReport :: ReportSpec -> Journal -> MultiBalanceReport
- multiBalanceReportWith :: ReportSpec -> Journal -> PriceOracle -> Set AccountName -> MultiBalanceReport
- compoundBalanceReport :: ReportSpec -> Journal -> [CBCSubreportSpec a] -> CompoundPeriodicReport a MixedAmount
- compoundBalanceReportWith :: ReportSpec -> Journal -> PriceOracle -> [CBCSubreportSpec a] -> CompoundPeriodicReport a MixedAmount
- startingPostings :: ReportSpec -> Journal -> PriceOracle -> DateSpan -> [Posting]
- makeReportQuery :: ReportSpec -> DateSpan -> ReportSpec
- getPostingsByColumn :: ReportSpec -> Journal -> PriceOracle -> [DateSpan] -> [(DateSpan, [Posting])]
- getPostings :: ReportSpec -> Journal -> PriceOracle -> [Posting]
- generateMultiBalanceReport :: ReportSpec -> Journal -> PriceOracle -> Set AccountName -> [(DateSpan, [Posting])] -> HashMap AccountName Account -> MultiBalanceReport
- sortRows :: ReportOpts -> Journal -> [MultiBalanceReportRow] -> [MultiBalanceReportRow]
- sortRowsLike :: [AccountName] -> [PeriodicReportRow DisplayName b] -> [PeriodicReportRow DisplayName b]
- balanceReportTableAsText :: ReportOpts -> Table Text Text WideBuilder -> Builder
- tests_MultiBalanceReport :: TestTree
- entriesReport :: ReportSpec -> Journal -> EntriesReport
- tests_EntriesReport :: TestTree
- budgetReport :: ReportSpec -> BalancingOpts -> DateSpan -> Journal -> BudgetReport
- combineBudgetAndActual :: ReportOpts -> Journal -> MultiBalanceReport -> MultiBalanceReport -> BudgetReport
- budgetReportAsText :: ReportOpts -> BudgetReport -> Text
- budgetReportAsTable :: ReportOpts -> BudgetReport -> Table Text Text WideBuilder
- budgetReportAsCsv :: ReportOpts -> BudgetReport -> [[Text]]
- tests_BudgetReport :: TestTree
- flatShowsExclusiveBalance :: Bool
- balanceReport :: ReportSpec -> Journal -> BalanceReport
- tests_BalanceReport :: TestTree
- triOrigTransaction :: (a, b, c, d, e, f) -> a
- triDate :: (a, Transaction, c, d, e, f) -> Day
- triAmount :: (a, b, c, d, e, f) -> e
- triBalance :: (a, b, c, d, e, f) -> f
- triCommodityAmount :: CommoditySymbol -> (a, b, c, d, MixedAmount, f) -> MixedAmount
- triCommodityBalance :: CommoditySymbol -> (a, b, c, d, e, MixedAmount) -> MixedAmount
- accountTransactionsReport :: ReportSpec -> Journal -> Query -> AccountTransactionsReport
- accountTransactionsReportItems :: Query -> Query -> MixedAmount -> (MixedAmount -> MixedAmount) -> (AccountName -> Maybe AccountType) -> [(Day, Transaction)] -> [AccountTransactionsReportItem]
- transactionRegisterDate :: WhichDate -> Query -> Query -> Transaction -> Day
- accountTransactionsReportByCommodity :: AccountTransactionsReport -> [(CommoditySymbol, AccountTransactionsReport)]
- tests_AccountTransactionsReport :: TestTree
- tests_Reports :: TestTree
- rawOptsToInputOpts :: Day -> RawOpts -> InputOpts
- parseAndFinaliseJournal :: ErroringJournalParser IO ParsedJournal -> InputOpts -> FilePath -> Text -> ExceptT String IO Journal
- initialiseAndParseJournal :: ErroringJournalParser IO ParsedJournal -> InputOpts -> FilePath -> Text -> ExceptT String IO Journal
- journalFinalise :: InputOpts -> FilePath -> Text -> ParsedJournal -> ExceptT String IO Journal
- journalAddAutoPostings :: Bool -> Day -> BalancingOpts -> Journal -> Either String Journal
- journalAddForecast :: Bool -> Maybe DateSpan -> Journal -> Journal
- setYear :: forall (m :: Type -> Type). Year -> JournalParser m ()
- getYear :: forall (m :: Type -> Type). JournalParser m (Maybe Year)
- setDefaultCommodityAndStyle :: forall (m :: Type -> Type). (CommoditySymbol, AmountStyle) -> JournalParser m ()
- getDefaultCommodityAndStyle :: forall (m :: Type -> Type). JournalParser m (Maybe (CommoditySymbol, AmountStyle))
- getDefaultAmountStyle :: forall (m :: Type -> Type). JournalParser m (Maybe AmountStyle)
- getAmountStyle :: forall (m :: Type -> Type). CommoditySymbol -> JournalParser m (Maybe AmountStyle)
- addDeclaredAccountTags :: forall (m :: Type -> Type). AccountName -> [Tag] -> JournalParser m ()
- addDeclaredAccountType :: forall (m :: Type -> Type). AccountName -> AccountType -> JournalParser m ()
- pushParentAccount :: forall (m :: Type -> Type). AccountName -> JournalParser m ()
- popParentAccount :: forall (m :: Type -> Type). JournalParser m ()
- getParentAccount :: forall (m :: Type -> Type). JournalParser m AccountName
- addAccountAlias :: MonadState Journal m => AccountAlias -> m ()
- getAccountAliases :: MonadState Journal m => m [AccountAlias]
- clearAccountAliases :: MonadState Journal m => m ()
- journalAddFile :: (FilePath, Text) -> Journal -> Journal
- statusp :: forall (m :: Type -> Type). TextParser m Status
- codep :: forall (m :: Type -> Type). TextParser m Text
- descriptionp :: forall (m :: Type -> Type). TextParser m Text
- datep :: forall (m :: Type -> Type). JournalParser m Day
- datetimep :: forall (m :: Type -> Type). JournalParser m LocalTime
- secondarydatep :: forall (m :: Type -> Type). Day -> TextParser m Day
- modifiedaccountnamep :: forall (m :: Type -> Type). JournalParser m AccountName
- accountnamep :: forall (m :: Type -> Type). TextParser m AccountName
- noncommenttextp :: forall (m :: Type -> Type). TextParser m Text
- noncommenttext1p :: forall (m :: Type -> Type). TextParser m Text
- singlespacedtext1p :: forall (m :: Type -> Type). TextParser m Text
- singlespacednoncommenttext1p :: forall (m :: Type -> Type). TextParser m Text
- singlespacedtextsatisfying1p :: forall (m :: Type -> Type). (Char -> Bool) -> TextParser m Text
- singlespacep :: forall (m :: Type -> Type). TextParser m ()
- spaceandamountormissingp :: forall (m :: Type -> Type). JournalParser m MixedAmount
- amountp :: forall (m :: Type -> Type). JournalParser m Amount
- amountp' :: forall (m :: Type -> Type). Bool -> JournalParser m Amount
- parseamount :: String -> Either HledgerParseErrors Amount
- parseamount' :: String -> Amount
- parsemixedamount :: String -> Either HledgerParseErrors MixedAmount
- parsemixedamount' :: String -> MixedAmount
- commoditysymbolp :: forall (m :: Type -> Type). TextParser m CommoditySymbol
- costp :: forall (m :: Type -> Type). Amount -> JournalParser m AmountPrice
- balanceassertionp :: forall (m :: Type -> Type). JournalParser m BalanceAssertion
- lotcostp :: forall (m :: Type -> Type). JournalParser m ()
- numberp :: forall (m :: Type -> Type). Maybe AmountStyle -> TextParser m (Quantity, Word8, Maybe Char, Maybe DigitGroupStyle)
- fromRawNumber :: RawNumber -> Maybe Integer -> Either String (Quantity, Word8, Maybe Char, Maybe DigitGroupStyle)
- rawnumberp :: forall (m :: Type -> Type). TextParser m (Either AmbiguousNumber RawNumber)
- multilinecommentp :: forall (m :: Type -> Type). TextParser m ()
- emptyorcommentlinep :: forall (m :: Type -> Type). TextParser m ()
- isLineCommentStart :: Char -> Bool
- isSameLineCommentStart :: Char -> Bool
- followingcommentp :: forall (m :: Type -> Type). TextParser m Text
- transactioncommentp :: forall (m :: Type -> Type). TextParser m (Text, [Tag])
- postingcommentp :: forall (m :: Type -> Type). Maybe Year -> TextParser m (Text, [Tag], Maybe Day, Maybe Day)
- bracketeddatetagsp :: forall (m :: Type -> Type). Maybe Year -> TextParser m [(TagName, Day)]
- aliasesFromOpts :: InputOpts -> [AccountAlias]
- accountaliasp :: forall (m :: Type -> Type). TextParser m AccountAlias
- tests_Common :: TestTree
- runJournalParser :: Monad m => JournalParser m a -> Text -> m (Either HledgerParseErrors a)
- findReader :: forall (m :: Type -> Type). MonadIO m => Maybe StorageFormat -> Maybe FilePath -> Maybe (Reader m)
- splitReaderPrefix :: PrefixedFilePath -> (Maybe String, FilePath)
- tmpostingrulep :: forall (m :: Type -> Type). Maybe Year -> JournalParser m TMPostingRule
- defaultJournal :: IO Journal
- defaultJournalPath :: IO String
- readJournal :: InputOpts -> Maybe FilePath -> Text -> ExceptT String IO Journal
- readJournalFile :: InputOpts -> PrefixedFilePath -> ExceptT String IO Journal
- readJournalFiles :: InputOpts -> [PrefixedFilePath] -> ExceptT String IO Journal
- readJournal' :: Text -> IO Journal
- readJournalFile' :: PrefixedFilePath -> IO Journal
- readJournalFiles' :: [PrefixedFilePath] -> IO Journal
- orDieTrying :: MonadIO m => ExceptT String m a -> m a
- requireJournalFileExists :: FilePath -> IO ()
- ensureJournalFileExists :: FilePath -> IO ()
- tests_Read :: TestTree
- tests_Hledger :: TestTree
- assertFailure :: HasCallStack => String -> IO a
- assertBool :: HasCallStack => String -> Bool -> Assertion
- assertEqual :: (Eq a, Show a, HasCallStack) => String -> a -> a -> Assertion
- (@=?) :: (Eq a, Show a, HasCallStack) => a -> a -> Assertion
- (@?=) :: (Eq a, Show a, HasCallStack) => a -> a -> Assertion
- (@?) :: (AssertionPredicable t, HasCallStack) => t -> String -> Assertion
- assertString :: HasCallStack => String -> Assertion
- testCaseSteps :: TestName -> ((String -> IO ()) -> Assertion) -> TestTree
- testCaseInfo :: TestName -> IO String -> TestTree
- (</>) :: FilePath -> FilePath -> FilePath
- combine :: FilePath -> FilePath -> FilePath
- isNothing :: Maybe a -> Bool
- isJust :: Maybe a -> Bool
- fromJust :: HasCallStack => Maybe a -> a
- maybeToList :: Maybe a -> [a]
- headMay :: [a] -> Maybe a
- lastMay :: [a] -> Maybe a
- maximumMay :: Ord a => [a] -> Maybe a
- maximumByMay :: (a -> a -> Ordering) -> [a] -> Maybe a
- minimumMay :: Ord a => [a] -> Maybe a
- minimumByMay :: (a -> a -> Ordering) -> [a] -> Maybe a
- tailMay :: [a] -> Maybe [a]
- initMay :: [a] -> Maybe [a]
- tailDef :: [a] -> [a] -> [a]
- initDef :: [a] -> [a] -> [a]
- pack :: String -> Text
- unpack :: Text -> String
- listToMaybe :: [a] -> Maybe a
- clamp :: Ord a => (a, a) -> a -> a
- comparing :: Ord a => (b -> a) -> b -> b -> Ordering
- defaultTimeLocale :: TimeLocale
- iso8601DateFormat :: Maybe String -> String
- rfc822DateFormat :: String
- writeOutput :: CliOpts -> String -> IO ()
- register :: CliOpts -> Journal -> IO ()
- foldl1May :: (a -> a -> a) -> [a] -> Maybe a
- foldr1May :: (a -> a -> a) -> [a] -> Maybe a
- foldl1Note :: Partial => String -> (a -> a -> a) -> [a] -> a
- foldr1Note :: Partial => String -> (a -> a -> a) -> [a] -> a
- minimumNote :: (Partial, Ord a) => String -> [a] -> a
- maximumNote :: (Partial, Ord a) => String -> [a] -> a
- minimumByNote :: Partial => String -> (a -> a -> Ordering) -> [a] -> a
- maximumByNote :: Partial => String -> (a -> a -> Ordering) -> [a] -> a
- maximumBoundBy :: a -> (a -> a -> Ordering) -> [a] -> a
- minimumBoundBy :: a -> (a -> a -> Ordering) -> [a] -> a
- maximumBound :: Ord a => a -> [a] -> a
- minimumBound :: Ord a => a -> [a] -> a
- maximumBounded :: (Ord a, Bounded a) => [a] -> a
- minimumBounded :: (Ord a, Bounded a) => [a] -> a
- findJust :: (a -> Bool) -> [a] -> a
- findJustDef :: a -> (a -> Bool) -> [a] -> a
- findJustNote :: Partial => String -> (a -> Bool) -> [a] -> a
- minimumDef :: Ord a => a -> [a] -> a
- maximumDef :: Ord a => a -> [a] -> a
- minimumByDef :: a -> (a -> a -> Ordering) -> [a] -> a
- maximumByDef :: a -> (a -> a -> Ordering) -> [a] -> a
- foldl1Def :: a -> (a -> a -> a) -> [a] -> a
- foldr1Def :: a -> (a -> a -> a) -> [a] -> a
- tailNote :: Partial => String -> [a] -> [a]
- tailSafe :: [a] -> [a]
- initNote :: Partial => String -> [a] -> [a]
- initSafe :: [a] -> [a]
- headNote :: Partial => String -> [a] -> a
- lastNote :: Partial => String -> [a] -> a
- foldl1May' :: (a -> a -> a) -> [a] -> Maybe a
- foldl1Note' :: Partial => String -> (a -> a -> a) -> [a] -> a
- scanr1May :: (a -> a -> a) -> [a] -> Maybe [a]
- scanl1May :: (a -> a -> a) -> [a] -> Maybe [a]
- scanr1Def :: [a] -> (a -> a -> a) -> [a] -> [a]
- scanl1Def :: [a] -> (a -> a -> a) -> [a] -> [a]
- scanr1Note :: Partial => String -> (a -> a -> a) -> [a] -> [a]
- scanl1Note :: Partial => String -> (a -> a -> a) -> [a] -> [a]
- cycleMay :: [a] -> Maybe [a]
- cycleDef :: [a] -> [a] -> [a]
- cycleNote :: Partial => String -> [a] -> [a]
- fromJustDef :: a -> Maybe a -> a
- fromJustNote :: Partial => String -> Maybe a -> a
- assertNote :: Partial => String -> Bool -> a -> a
- atMay :: [a] -> Int -> Maybe a
- atDef :: a -> [a] -> Int -> a
- atNote :: Partial => String -> [a] -> Int -> a
- readEitherSafe :: Read a => String -> Either String a
- readMay :: Read a => String -> Maybe a
- readDef :: Read a => a -> String -> a
- readNote :: (Partial, Read a) => String -> String -> a
- lookupJust :: (Eq a, Partial) => a -> [(a, b)] -> b
- lookupJustDef :: Eq a => b -> a -> [(a, b)] -> b
- lookupJustNote :: (Partial, Eq a) => String -> a -> [(a, b)] -> b
- elemIndexJust :: (Partial, Eq a) => a -> [a] -> Int
- elemIndexJustDef :: Eq a => Int -> a -> [a] -> Int
- elemIndexJustNote :: (Partial, Eq a) => String -> a -> [a] -> Int
- findIndexJust :: (a -> Bool) -> [a] -> Int
- findIndexJustDef :: Int -> (a -> Bool) -> [a] -> Int
- findIndexJustNote :: Partial => String -> (a -> Bool) -> [a] -> Int
- toEnumMay :: (Enum a, Bounded a) => Int -> Maybe a
- toEnumDef :: (Enum a, Bounded a) => a -> Int -> a
- toEnumNote :: (Partial, Enum a, Bounded a) => String -> Int -> a
- toEnumSafe :: (Enum a, Bounded a) => Int -> a
- succMay :: (Enum a, Eq a, Bounded a) => a -> Maybe a
- succDef :: (Enum a, Eq a, Bounded a) => a -> a -> a
- succNote :: (Partial, Enum a, Eq a, Bounded a) => String -> a -> a
- succSafe :: (Enum a, Eq a, Bounded a) => a -> a
- predMay :: (Enum a, Eq a, Bounded a) => a -> Maybe a
- predDef :: (Enum a, Eq a, Bounded a) => a -> a -> a
- predNote :: (Partial, Enum a, Eq a, Bounded a) => String -> a -> a
- predSafe :: (Enum a, Eq a, Bounded a) => a -> a
- indexMay :: Ix a => (a, a) -> a -> Maybe Int
- indexDef :: Ix a => Int -> (a, a) -> a -> Int
- indexNote :: (Partial, Ix a) => String -> (a, a) -> a -> Int
- foldl1Def' :: a -> (a -> a -> a) -> [a] -> a
- (<.>) :: FilePath -> String -> FilePath
- calendarDay :: CalendarDiffDays
- calendarMonth :: CalendarDiffDays
- calendarWeek :: CalendarDiffDays
- calendarYear :: CalendarDiffDays
- scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays
- addDays :: Integer -> Day -> Day
- diffDays :: Day -> Day -> Integer
- addGregorianDurationClip :: CalendarDiffDays -> Day -> Day
- addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day
- addGregorianMonthsClip :: Integer -> Day -> Day
- addGregorianMonthsRollOver :: Integer -> Day -> Day
- addGregorianYearsClip :: Integer -> Day -> Day
- addGregorianYearsRollOver :: Integer -> Day -> Day
- diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays
- diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays
- fromGregorian :: Year -> MonthOfYear -> DayOfMonth -> Day
- fromGregorianValid :: Year -> MonthOfYear -> DayOfMonth -> Maybe Day
- gregorianMonthLength :: Year -> MonthOfYear -> DayOfMonth
- showGregorian :: Day -> String
- toGregorian :: Day -> (Year, MonthOfYear, DayOfMonth)
- isLeapYear :: Year -> Bool
- dayOfWeek :: Day -> DayOfWeek
- dayOfWeekDiff :: DayOfWeek -> DayOfWeek -> Int
- firstDayOfWeekOnAfter :: DayOfWeek -> Day -> Day
- utc :: TimeZone
- parseTimeM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> String -> String -> m t
- parseTimeOrError :: ParseTime t => Bool -> TimeLocale -> String -> String -> t
- readPTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadP t
- readSTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadS t
- zonedTimeToUTC :: ZonedTime -> UTCTime
- addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime
- diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime
- localTimeToUT1 :: Rational -> LocalTime -> UniversalTime
- localTimeToUTC :: TimeZone -> LocalTime -> UTCTime
- ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime
- utcToLocalTime :: TimeZone -> UTCTime -> LocalTime
- getZonedTime :: IO ZonedTime
- utcToLocalZonedTime :: UTCTime -> IO ZonedTime
- utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
- diffTimeToPicoseconds :: DiffTime -> Integer
- picosecondsToDiffTime :: Integer -> DiffTime
- secondsToDiffTime :: Integer -> DiffTime
- nominalDay :: NominalDiffTime
- nominalDiffTimeToSeconds :: NominalDiffTime -> Pico
- secondsToNominalDiffTime :: Pico -> NominalDiffTime
- getTime_resolution :: DiffTime
- addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime
- diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime
- getCurrentTime :: IO UTCTime
- formatTime :: FormatTime t => TimeLocale -> String -> t -> String
- calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime
- calendarTimeTime :: NominalDiffTime -> CalendarDiffTime
- scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime
- dayFractionToTimeOfDay :: Rational -> TimeOfDay
- daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime
- localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
- makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay
- midday :: TimeOfDay
- midnight :: TimeOfDay
- pastMidnight :: DiffTime -> TimeOfDay
- sinceMidnight :: TimeOfDay -> DiffTime
- timeOfDayToDayFraction :: TimeOfDay -> Rational
- timeOfDayToTime :: TimeOfDay -> DiffTime
- timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay)
- timeToTimeOfDay :: DiffTime -> TimeOfDay
- utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
- getCurrentTimeZone :: IO TimeZone
- getTimeZone :: UTCTime -> IO TimeZone
- hoursToTimeZone :: Int -> TimeZone
- minutesToTimeZone :: Int -> TimeZone
- timeZoneOffsetString :: TimeZone -> String
- timeZoneOffsetString' :: Maybe Char -> TimeZone -> String
- prognameandversion :: String
- versionString :: ProgramName -> PackageVersion -> String
- helpflags :: [Flag RawOpts]
- detailedversionflag :: Flag RawOpts
- flattreeflags :: Bool -> [Flag RawOpts]
- hiddenflags :: [Flag RawOpts]
- inputflags :: [Flag RawOpts]
- reportflags :: [Flag RawOpts]
- outputFormatFlag :: [String] -> Flag RawOpts
- outputFileFlag :: Flag RawOpts
- generalflagsgroup1 :: (String, [Flag RawOpts])
- generalflagsgroup2 :: (String, [Flag RawOpts])
- generalflagsgroup3 :: (String, [Flag RawOpts])
- defMode :: Mode RawOpts
- defCommandMode :: [Name] -> Mode RawOpts
- addonCommandMode :: Name -> Mode RawOpts
- hledgerCommandMode :: CommandDoc -> [Flag RawOpts] -> [(String, [Flag RawOpts])] -> [Flag RawOpts] -> ([Arg RawOpts], Maybe (Arg RawOpts)) -> Mode RawOpts
- argsFlag :: FlagHelp -> Arg RawOpts
- showModeUsage :: Mode a -> String
- withAliases :: String -> [String] -> String
- likelyExecutablesInPath :: IO [String]
- hledgerExecutablesInPath :: IO [String]
- ensureDebugHasArg :: (Eq (t Char), IsString (t Char), Foldable t) => [t Char] -> [t Char]
- defcliopts :: CliOpts
- getHledgerCliOpts :: Mode RawOpts -> IO CliOpts
- getHledgerCliOpts' :: Mode RawOpts -> [String] -> IO CliOpts
- rawOptsToCliOpts :: RawOpts -> IO CliOpts
- outputFormats :: [String]
- defaultOutputFormat :: String
- journalFilePathFromOpts :: CliOpts -> IO [String]
- rulesFilePathFromOpts :: CliOpts -> IO (Maybe FilePath)
- outputFileFromOpts :: CliOpts -> IO (Maybe FilePath)
- outputFormatFromOpts :: CliOpts -> String
- defaultWidth :: Int
- replaceNumericFlags :: [String] -> [String]
- registerWidthsFromOpts :: CliOpts -> (Int, Maybe Int)
- hledgerAddons :: IO [String]
- topicForMode :: Mode a -> Topic
- printHelpForTopic :: Tool -> Maybe Topic -> IO ()
- runManForTopic :: Tool -> Maybe Topic -> IO ()
- runInfoForTopic :: Tool -> Maybe Topic -> IO ()
- runPagerForTopic :: Tool -> Maybe Topic -> IO ()
- unsupportedOutputFormatError :: String -> String
- withJournalDo :: CliOpts -> (Journal -> IO a) -> IO a
- writeOutputLazyText :: CliOpts -> Text -> IO ()
- journalTransform :: CliOpts -> Journal -> Journal
- journalReload :: CliOpts -> ExceptT String IO Journal
- journalReloadIfChanged :: CliOpts -> Day -> Journal -> ExceptT String IO (Journal, Bool)
- journalFileIsNewer :: Journal -> FilePath -> IO Bool
- openBrowserOn :: String -> IO ExitCode
- writeFileWithBackup :: FilePath -> String -> IO ()
- writeFileWithBackupIfChanged :: FilePath -> Text -> IO Bool
- readFileStrictly :: FilePath -> IO Text
- pivotByOpts :: CliOpts -> Journal -> Journal
- anonymiseByOpts :: CliOpts -> Journal -> Journal
- journalSimilarTransaction :: CliOpts -> Journal -> Text -> Maybe Transaction
- postingsOrTransactionsReportAsText :: Bool -> CliOpts -> (Int -> Int -> (a, [WideBuilder], [WideBuilder]) -> Builder) -> (a -> MixedAmount) -> (a -> MixedAmount) -> [a] -> Builder
- tests_Cli_Utils :: TestTree
- splitFileName :: FilePath -> (String, String)
- takeDirectory :: FilePath -> FilePath
- argsToCliOpts :: [String] -> [String] -> IO CliOpts
- packageversion :: PackageVersion
- progname :: ProgramName
- versionStringWith :: Either String GitInfo -> ProgramName -> PackageVersion -> VersionString
- testcmd :: CliOpts -> Journal -> IO ()
- builtinCommands :: [(Mode RawOpts, CliOpts -> Journal -> IO ())]
- builtinCommandNames :: [String]
- findBuiltinCommand :: String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ())
- knownAddonCommands :: [String]
- knownCommands :: [String]
- printCommandsList :: String -> [String] -> IO ()
- tests_Hledger_Cli :: TestTree
- accountsmode :: Mode RawOpts
- accounts :: CliOpts -> Journal -> IO ()
- activitymode :: Mode RawOpts
- addmode :: Mode RawOpts
- appendToJournalFileOrStdout :: FilePath -> Text -> IO ()
- journalAddTransaction :: Journal -> CliOpts -> Transaction -> IO Journal
- postingsReportAsText :: CliOpts -> PostingsReport -> Text
- aregistermode :: Mode RawOpts
- aregister :: CliOpts -> Journal -> IO ()
- tests_Aregister :: TestTree
- balancemode :: Mode RawOpts
- balance :: CliOpts -> Journal -> IO ()
- balanceReportAsText :: ReportOpts -> BalanceReport -> Builder
- balanceReportAsCsv :: ReportOpts -> BalanceReport -> CSV
- balanceReportItemAsText :: ReportOpts -> BalanceReportItem -> (Builder, [Int])
- multiBalanceRowAsCsvText :: ReportOpts -> [DateSpan] -> PeriodicReportRow a MixedAmount -> [[Text]]
- multiBalanceRowAsTableText :: ReportOpts -> PeriodicReportRow a MixedAmount -> [[WideBuilder]]
- multiBalanceReportAsText :: ReportOpts -> MultiBalanceReport -> Text
- multiBalanceReportAsCsv :: ReportOpts -> MultiBalanceReport -> CSV
- multiBalanceReportAsHtml :: ReportOpts -> MultiBalanceReport -> Html ()
- multiBalanceReportHtmlRows :: ReportOpts -> MultiBalanceReport -> (Html (), [Html ()], [Html ()])
- multiBalanceReportHtmlFootRow :: ReportOpts -> [Text] -> Html ()
- balanceReportAsTable :: ReportOpts -> MultiBalanceReport -> Table Text Text WideBuilder
- tests_Balance :: TestTree
- balancesheetmode :: Mode RawOpts
- balancesheet :: CliOpts -> Journal -> IO ()
- balancesheetequitymode :: Mode RawOpts
- balancesheetequity :: CliOpts -> Journal -> IO ()
- cashflowmode :: Mode RawOpts
- cashflow :: CliOpts -> Journal -> IO ()
- closemode :: Mode RawOpts
- codesmode :: Mode RawOpts
- codes :: CliOpts -> Journal -> IO ()
- commoditiesmode :: Mode RawOpts
- commodities :: CliOpts -> Journal -> IO ()
- demomode :: Mode RawOpts
- demo :: CliOpts -> Journal -> IO ()
- descriptionsmode :: Mode RawOpts
- descriptions :: CliOpts -> Journal -> IO ()
- diffmode :: Mode RawOpts
- helpmode :: Mode RawOpts
- help' :: CliOpts -> Journal -> IO ()
- importmode :: Mode RawOpts
- importcmd :: CliOpts -> Journal -> IO ()
- incomestatementmode :: Mode RawOpts
- incomestatement :: CliOpts -> Journal -> IO ()
- notesmode :: Mode RawOpts
- notes :: CliOpts -> Journal -> IO ()
- payeesmode :: Mode RawOpts
- payees :: CliOpts -> Journal -> IO ()
- pricesmode :: Mode RawOpts
- prices :: CliOpts -> Journal -> IO ()
- printmode :: Mode RawOpts
- print' :: CliOpts -> Journal -> IO ()
- transactionWithMostlyOriginalPostings :: Transaction -> Transaction
- registermode :: Mode RawOpts
- postingsReportItemAsText :: CliOpts -> Int -> Int -> (PostingsReportItem, [WideBuilder], [WideBuilder]) -> Builder
- tests_Register :: TestTree
- rewritemode :: Mode RawOpts
- rewrite :: CliOpts -> Journal -> IO ()
- statsmode :: Mode RawOpts
- stats :: CliOpts -> Journal -> IO ()
- tagsmode :: Mode RawOpts
- tags :: CliOpts -> Journal -> IO ()
- parseTimeMultipleM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> [(String, String)] -> m t
- periodAllDays :: DayPeriod p => p -> [Day]
- periodFromDay :: DayPeriod p => Day -> (p, Int)
- periodLength :: DayPeriod p => p -> Int
- periodToDay :: DayPeriod p => p -> Int -> Day
- periodToDayValid :: DayPeriod p => p -> Int -> Maybe Day
- isPathSeparator :: Char -> Bool
- isRelative :: FilePath -> Bool
- normalise :: FilePath -> FilePath
- splitExtension :: FilePath -> (String, String)
- takeBaseName :: FilePath -> String
- takeExtension :: FilePath -> String
- addExtension :: FilePath -> String -> FilePath
- makeRelative :: FilePath -> FilePath -> FilePath
- (-<.>) :: FilePath -> String -> FilePath
- addTrailingPathSeparator :: FilePath -> FilePath
- dropDrive :: FilePath -> FilePath
- dropExtension :: FilePath -> FilePath
- dropExtensions :: FilePath -> FilePath
- dropFileName :: FilePath -> FilePath
- dropTrailingPathSeparator :: FilePath -> FilePath
- equalFilePath :: FilePath -> FilePath -> Bool
- extSeparator :: Char
- getSearchPath :: IO [FilePath]
- hasDrive :: FilePath -> Bool
- hasExtension :: FilePath -> Bool
- hasTrailingPathSeparator :: FilePath -> Bool
- isAbsolute :: FilePath -> Bool
- isDrive :: FilePath -> Bool
- isExtSeparator :: Char -> Bool
- isExtensionOf :: String -> FilePath -> Bool
- isSearchPathSeparator :: Char -> Bool
- isValid :: FilePath -> Bool
- joinDrive :: FilePath -> FilePath -> FilePath
- joinPath :: [FilePath] -> FilePath
- makeValid :: FilePath -> FilePath
- pathSeparator :: Char
- pathSeparators :: [Char]
- replaceBaseName :: FilePath -> String -> FilePath
- replaceDirectory :: FilePath -> String -> FilePath
- replaceExtension :: FilePath -> String -> FilePath
- replaceExtensions :: FilePath -> String -> FilePath
- replaceFileName :: FilePath -> String -> FilePath
- searchPathSeparator :: Char
- splitDirectories :: FilePath -> [FilePath]
- splitDrive :: FilePath -> (FilePath, FilePath)
- splitExtensions :: FilePath -> (FilePath, String)
- splitPath :: FilePath -> [FilePath]
- splitSearchPath :: String -> [FilePath]
- stripExtension :: String -> FilePath -> Maybe FilePath
- takeDrive :: FilePath -> FilePath
- takeExtensions :: FilePath -> String
- takeFileName :: FilePath -> FilePath
- weekAllDays :: DayOfWeek -> Day -> [Day]
- weekFirstDay :: DayOfWeek -> Day -> Day
- weekLastDay :: DayOfWeek -> Day -> Day
- barchar :: Char
- activity :: CliOpts -> Journal -> IO ()
- showHistogram :: ReportSpec -> Journal -> String
- printDayWith :: (PrintfArg t1, PrintfType t2) => (t3 -> t1) -> (DateSpan, t3) -> t2
- countBar :: Foldable t => t a -> [Char]

# Documentation

data Char #

#### Instances

Instances details

FromJSON Char |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Char # parseJSONList :: Value -> Parser [Char] # omittedField :: Maybe Char #
FromJSONKey Char |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Char # fromJSONKeyList :: FromJSONKeyFunction [Char] #
ToJSON Char |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Char -> Value # toEncoding :: Char -> Encoding # toJSONList :: [Char] -> Value # toEncodingList :: [Char] -> Encoding # omitField :: Char -> Bool #
ToJSONKey Char |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Char # toJSONKeyList :: ToJSONKeyFunction [Char] #
Data Char |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Char -> c Char gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Char toConstr :: Char -> Constr dataTypeOf :: Char -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Char) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Char) gmapT :: (forall b. Data b => b -> b) -> Char -> Char gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Char -> r gmapQ :: (forall d. Data d => d -> u) -> Char -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Char -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Char -> m Char gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Char -> m Char
Bounded Char |
Instance details Defined in GHC.Enum Methods minBound :: Char maxBound :: Char
Enum Char |
Instance details Defined in GHC.Enum Methods succ :: Char -> Char pred :: Char -> Char toEnum :: Int -> Char fromEnum :: Char -> Int enumFrom :: Char -> [Char] enumFromThen :: Char -> Char -> [Char] enumFromTo :: Char -> Char -> [Char] enumFromThenTo :: Char -> Char -> Char -> [Char]
Ix Char |
Instance details Defined in GHC.Ix Methods range :: (Char, Char) -> [Char] index :: (Char, Char) -> Char -> Int unsafeIndex :: (Char, Char) -> Char -> Int inRange :: (Char, Char) -> Char -> Bool rangeSize :: (Char, Char) -> Int unsafeRangeSize :: (Char, Char) -> Int
Read Char |
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Char # readList :: ReadS [Char] # readPrec :: ReadPrec Char # readListPrec :: ReadPrec [Char] #
Show Char |
Instance details Defined in GHC.Show Methods showsPrec :: Int -> Char -> ShowS show :: Char -> String showList :: [Char] -> ShowS
IsChar Char |
Instance details Defined in Text.Printf Methods toChar :: Char -> Char # fromChar :: Char -> Char #
PrintfArg Char |
Instance details Defined in Text.Printf Methods formatArg :: Char -> FieldFormatter # parseFormat :: Char -> ModifierParser #
NFData Char |
Instance details Defined in Control.DeepSeq Methods rnf :: Char -> ()
HasChars String |
Instance details Defined in Text.DocLayout Methods foldrChar :: (Char -> b -> b) -> b -> String -> b # foldlChar :: (b -> Char -> b) -> b -> String -> b # replicateChar :: Int -> Char -> String # isNull :: String -> Bool # splitLines :: String -> [String] #
Eq Char |
Instance details Defined in GHC.Classes Methods (==) :: Char -> Char -> Bool (/=) :: Char -> Char -> Bool
Ord Char |
Instance details Defined in GHC.Classes Methods compare :: Char -> Char -> Ordering # (<) :: Char -> Char -> Bool # (<=) :: Char -> Char -> Bool # (>) :: Char -> Char -> Bool # (>=) :: Char -> Char -> Bool # max :: Char -> Char -> Char # min :: Char -> Char -> Char #
Hashable Char |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Char -> Int # hash :: Char -> Int #
ToHtml String |
Instance details Defined in Lucid.Base Methods toHtml :: forall (m :: Type -> Type). Monad m => String -> HtmlT m () # toHtmlRaw :: forall (m :: Type -> Type). Monad m => String -> HtmlT m () #
TraversableStream String |
Instance details Defined in Text.Megaparsec.Stream Methods reachOffset :: Int -> PosState String -> (Maybe String, PosState String) # reachOffsetNoLine :: Int -> PosState String -> PosState String #
VisualStream String |
Instance details Defined in Text.Megaparsec.Stream Methods showTokens :: Proxy String -> NonEmpty (Token String) -> String # tokensLength :: Proxy String -> NonEmpty (Token String) -> Int #
Pretty Char | Instead of `(`pretty` 'n')`, consider using ``line`` as a more readable alternative.
    >>> pretty 'f' <> pretty 'o' <> pretty 'o'
    foo
    >>> pretty ("string" :: String)
    string
Instance details Defined in Prettyprinter.Internal Methods pretty :: Char -> Doc ann # prettyList :: [Char] -> Doc ann #
Uniform Char |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Char #
UniformRange Char |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Char, Char) -> g -> m Char #
Extract String |
Instance details Defined in Text.Regex.Base.RegexLike Methods before :: Int -> String -> String # after :: Int -> String -> String # empty :: String # extract :: (Int, Int) -> String -> String #
Assertable String |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assert :: String -> Assertion #
Unbox Char |
Instance details Defined in Data.Vector.Unboxed.Base
TestCoercion SChar |
Instance details Defined in GHC.TypeLits Methods testCoercion :: forall (a :: k) (b :: k). SChar a -> SChar b -> Maybe (Coercion a b)
TestEquality SChar |
Instance details Defined in GHC.TypeLits Methods testEquality :: forall (a :: k) (b :: k). SChar a -> SChar b -> Maybe (a :~: b)
RegexLike Regexp String |
Instance details Defined in Hledger.Utils.Regex Methods matchOnce :: Regexp -> String -> Maybe MatchArray # matchAll :: Regexp -> String -> [MatchArray] # matchCount :: Regexp -> String -> Int # matchTest :: Regexp -> String -> Bool # matchAllText :: Regexp -> String -> [MatchText String] # matchOnceText :: Regexp -> String -> Maybe (String, MatchText String, String) #
Lift Char |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Char -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Char -> Code m Char #
Vector Vector Char |
Instance details Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s Char -> ST s (Vector Char) # basicUnsafeThaw :: Vector Char -> ST s (Mutable Vector s Char) # basicLength :: Vector Char -> Int # basicUnsafeSlice :: Int -> Int -> Vector Char -> Vector Char # basicUnsafeIndexM :: Vector Char -> Int -> Box Char # basicUnsafeCopy :: Mutable Vector s Char -> Vector Char -> ST s () # elemseq :: Vector Char -> Char -> b -> b #
MVector MVector Char |
Instance details Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s Char -> Int # basicUnsafeSlice :: Int -> Int -> MVector s Char -> MVector s Char # basicOverlaps :: MVector s Char -> MVector s Char -> Bool # basicUnsafeNew :: Int -> ST s (MVector s Char) # basicInitialize :: MVector s Char -> ST s () # basicUnsafeReplicate :: Int -> Char -> ST s (MVector s Char) # basicUnsafeRead :: MVector s Char -> Int -> ST s Char # basicUnsafeWrite :: MVector s Char -> Int -> Char -> ST s () # basicClear :: MVector s Char -> ST s () # basicSet :: MVector s Char -> Char -> ST s () # basicUnsafeCopy :: MVector s Char -> MVector s Char -> ST s () # basicUnsafeMove :: MVector s Char -> MVector s Char -> ST s () # basicUnsafeGrow :: MVector s Char -> Int -> ST s (MVector s Char) #
RegexContext Regexp String String |
Instance details Defined in Hledger.Utils.Regex Methods match :: Regexp -> String -> String # matchM :: MonadFail m => Regexp -> String -> m String #
Generic1 (URec Char :: k -> Type) |
Instance details Defined in GHC.Generics Associated Types type Rep1 (URec Char) :: k -> Type Methods from1 :: forall (a :: k0). URec Char a -> Rep1 (URec Char) a to1 :: forall (a :: k0). Rep1 (URec Char) a -> URec Char a
Foldable (UChar :: Type -> Type) |
Instance details Defined in Data.Foldable Methods fold :: Monoid m => UChar m -> m foldMap :: Monoid m => (a -> m) -> UChar a -> m foldMap' :: Monoid m => (a -> m) -> UChar a -> m foldr :: (a -> b -> b) -> b -> UChar a -> b # foldr' :: (a -> b -> b) -> b -> UChar a -> b foldl :: (b -> a -> b) -> b -> UChar a -> b # foldl' :: (b -> a -> b) -> b -> UChar a -> b # foldr1 :: (a -> a -> a) -> UChar a -> a # foldl1 :: (a -> a -> a) -> UChar a -> a # toList :: UChar a -> [a] null :: UChar a -> Bool # length :: UChar a -> Int # elem :: Eq a => a -> UChar a -> Bool # maximum :: Ord a => UChar a -> a # minimum :: Ord a => UChar a -> a # sum :: Num a => UChar a -> a # product :: Num a => UChar a -> a #
Traversable (UChar :: Type -> Type) |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> UChar a -> f (UChar b) sequenceA :: Applicative f => UChar (f a) -> f (UChar a) mapM :: Monad m => (a -> m b) -> UChar a -> m (UChar b) # sequence :: Monad m => UChar (m a) -> m (UChar a) #
OutputCap [Char] |
Instance details Defined in System.Console.Terminfo.Base Methods hasOkPadding :: [Char] -> String -> Bool outputCap :: ([Int] -> String) -> [Int] -> [Char]
TermStr [Char] |
Instance details Defined in System.Console.Terminfo.Base
Functor (URec Char :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Char a -> URec Char b # (<$) :: a -> URec Char b -> URec Char a #
Generic (URec Char p) |
Instance details Defined in GHC.Generics Associated Types type Rep (URec Char p) :: Type -> Type Methods from :: URec Char p -> Rep (URec Char p) x to :: Rep (URec Char p) x -> URec Char p
Show (URec Char p) |
Instance details Defined in GHC.Generics Methods showsPrec :: Int -> URec Char p -> ShowS show :: URec Char p -> String showList :: [URec Char p] -> ShowS
Eq (URec Char p) |
Instance details Defined in GHC.Generics Methods (==) :: URec Char p -> URec Char p -> Bool (/=) :: URec Char p -> URec Char p -> Bool
Ord (URec Char p) |
Instance details Defined in GHC.Generics Methods compare :: URec Char p -> URec Char p -> Ordering # (<) :: URec Char p -> URec Char p -> Bool # (<=) :: URec Char p -> URec Char p -> Bool # (>) :: URec Char p -> URec Char p -> Bool # (>=) :: URec Char p -> URec Char p -> Bool # max :: URec Char p -> URec Char p -> URec Char p # min :: URec Char p -> URec Char p -> URec Char p #
newtype Vector Char |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Char = V_Char (Vector Char)
data URec Char (p :: k) |
Instance details Defined in GHC.Generics data URec Char (p :: k) = UChar { uChar# :: Char# }
newtype MVector s Char |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Char = MV_Char (MVector s Char)
type Rep1 (URec Char :: k -> Type) |
Instance details Defined in GHC.Generics type Rep1 (URec Char :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: k -> Type)))
type Rep (URec Char p) |
Instance details Defined in GHC.Generics type Rep (URec Char p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "uChar#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UChar :: Type -> Type)))

data Ordering #

Constructors

LT |
EQ |
GT |

#### Instances

Instances details

FromJSON Ordering |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Ordering # parseJSONList :: Value -> Parser [Ordering] # omittedField :: Maybe Ordering #
ToJSON Ordering |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Ordering -> Value # toEncoding :: Ordering -> Encoding # toJSONList :: [Ordering] -> Value # toEncodingList :: [Ordering] -> Encoding # omitField :: Ordering -> Bool #
Data Ordering |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ordering -> c Ordering gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ordering toConstr :: Ordering -> Constr dataTypeOf :: Ordering -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ordering) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ordering) gmapT :: (forall b. Data b => b -> b) -> Ordering -> Ordering gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ordering -> r gmapQ :: (forall d. Data d => d -> u) -> Ordering -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Ordering -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ordering -> m Ordering
Monoid Ordering |
Instance details Defined in GHC.Base Methods mempty :: Ordering # mappend :: Ordering -> Ordering -> Ordering # mconcat :: [Ordering] -> Ordering #
Semigroup Ordering |
Instance details Defined in GHC.Base Methods (<>) :: Ordering -> Ordering -> Ordering # sconcat :: NonEmpty Ordering -> Ordering # stimes :: Integral b => b -> Ordering -> Ordering #
Bounded Ordering |
Instance details Defined in GHC.Enum Methods minBound :: Ordering maxBound :: Ordering
Enum Ordering |
Instance details Defined in GHC.Enum Methods succ :: Ordering -> Ordering pred :: Ordering -> Ordering toEnum :: Int -> Ordering fromEnum :: Ordering -> Int enumFrom :: Ordering -> [Ordering] enumFromThen :: Ordering -> Ordering -> [Ordering] enumFromTo :: Ordering -> Ordering -> [Ordering] enumFromThenTo :: Ordering -> Ordering -> Ordering -> [Ordering]
Generic Ordering |
Instance details Defined in GHC.Generics Associated Types type Rep Ordering :: Type -> Type Methods from :: Ordering -> Rep Ordering x to :: Rep Ordering x -> Ordering
Ix Ordering |
Instance details Defined in GHC.Ix Methods range :: (Ordering, Ordering) -> [Ordering] index :: (Ordering, Ordering) -> Ordering -> Int unsafeIndex :: (Ordering, Ordering) -> Ordering -> Int inRange :: (Ordering, Ordering) -> Ordering -> Bool rangeSize :: (Ordering, Ordering) -> Int unsafeRangeSize :: (Ordering, Ordering) -> Int
Read Ordering |
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Ordering # readList :: ReadS [Ordering] # readPrec :: ReadPrec Ordering # readListPrec :: ReadPrec [Ordering] #
Show Ordering |
Instance details Defined in GHC.Show Methods showsPrec :: Int -> Ordering -> ShowS show :: Ordering -> String showList :: [Ordering] -> ShowS
Default Ordering |
Instance details Defined in Data.Default.Class Methods def :: Ordering #
NFData Ordering |
Instance details Defined in Control.DeepSeq Methods rnf :: Ordering -> ()
Eq Ordering |
Instance details Defined in GHC.Classes Methods (==) :: Ordering -> Ordering -> Bool (/=) :: Ordering -> Ordering -> Bool
Ord Ordering |
Instance details Defined in GHC.Classes Methods compare :: Ordering -> Ordering -> Ordering # (<) :: Ordering -> Ordering -> Bool # (<=) :: Ordering -> Ordering -> Bool # (>) :: Ordering -> Ordering -> Bool # (>=) :: Ordering -> Ordering -> Bool # max :: Ordering -> Ordering -> Ordering # min :: Ordering -> Ordering -> Ordering #
Hashable Ordering |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Ordering -> Int # hash :: Ordering -> Int #
type Rep Ordering |
Instance details Defined in GHC.Generics type Rep Ordering = D1 ('MetaData "Ordering" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "LT" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EQ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GT" 'PrefixI 'False) (U1 :: Type -> Type)))

data Maybe a #

Constructors

Nothing |
Just a |

#### Instances

Instances details

FromJSON1 Maybe |
Instance details Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Maybe a) # liftParseJSONList :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Maybe a] # liftOmittedField :: Maybe a -> Maybe (Maybe a) #
ToJSON1 Maybe |
Instance details Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> Maybe a -> Value # liftToJSONList :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> [Maybe a] -> Value # liftToEncoding :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> Maybe a -> Encoding # liftToEncodingList :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> [Maybe a] -> Encoding # liftOmitField :: (a -> Bool) -> Maybe a -> Bool #
MonadFail Maybe |
Instance details Defined in Control.Monad.Fail Methods fail :: String -> Maybe a #
Foldable Maybe |
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Maybe m -> m foldMap :: Monoid m => (a -> m) -> Maybe a -> m foldMap' :: Monoid m => (a -> m) -> Maybe a -> m foldr :: (a -> b -> b) -> b -> Maybe a -> b # foldr' :: (a -> b -> b) -> b -> Maybe a -> b foldl :: (b -> a -> b) -> b -> Maybe a -> b # foldl' :: (b -> a -> b) -> b -> Maybe a -> b # foldr1 :: (a -> a -> a) -> Maybe a -> a # foldl1 :: (a -> a -> a) -> Maybe a -> a # toList :: Maybe a -> [a] null :: Maybe a -> Bool # length :: Maybe a -> Int # elem :: Eq a => a -> Maybe a -> Bool # maximum :: Ord a => Maybe a -> a # minimum :: Ord a => Maybe a -> a # sum :: Num a => Maybe a -> a # product :: Num a => Maybe a -> a #
Traversable Maybe |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Maybe a -> f (Maybe b) sequenceA :: Applicative f => Maybe (f a) -> f (Maybe a) mapM :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b) # sequence :: Monad m => Maybe (m a) -> m (Maybe a) #
Alternative Maybe |
Instance details Defined in GHC.Base Methods empty :: Maybe a # (<|>) :: Maybe a -> Maybe a -> Maybe a # some :: Maybe a -> Maybe [a] # many :: Maybe a -> Maybe [a] #
Applicative Maybe |
Instance details Defined in GHC.Base Methods pure :: a -> Maybe a # (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b # liftA2 :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c # (*>) :: Maybe a -> Maybe b -> Maybe b # (<*) :: Maybe a -> Maybe b -> Maybe a #
Functor Maybe |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> Maybe a -> Maybe b # (<$) :: a -> Maybe b -> Maybe a #
Monad Maybe |
Instance details Defined in GHC.Base Methods (>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b # (>>) :: Maybe a -> Maybe b -> Maybe b # return :: a -> Maybe a #
MonadPlus Maybe |
Instance details Defined in GHC.Base Methods mzero :: Maybe a # mplus :: Maybe a -> Maybe a -> Maybe a #
NFData1 Maybe |
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> Maybe a -> ()
MonadThrow Maybe |
Instance details Defined in Control.Monad.Catch Methods throwM :: (HasCallStack, Exception e) => e -> Maybe a #
Hashable1 Maybe |
Instance details Defined in Data.Hashable.Class Methods liftHashWithSalt :: (Int -> a -> Int) -> Int -> Maybe a -> Int #
Generic1 Maybe |
Instance details Defined in GHC.Generics Associated Types type Rep1 Maybe :: k -> Type Methods from1 :: forall (a :: k). Maybe a -> Rep1 Maybe a to1 :: forall (a :: k). Rep1 Maybe a -> Maybe a
Reportable Maybe e |
Instance details Defined in Hledger.Reports.ReportOptions Methods report :: a -> Maybe (Either e a) -> Maybe a
Lift a => Lift (Maybe a :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Maybe a -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Maybe a -> Code m (Maybe a) #
FromJSON a => FromJSON (Maybe a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Maybe a) # parseJSONList :: Value -> Parser [Maybe a] # omittedField :: Maybe (Maybe a) #
ToJSON a => ToJSON (Maybe a) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Maybe a -> Value # toEncoding :: Maybe a -> Encoding # toJSONList :: [Maybe a] -> Value # toEncodingList :: [Maybe a] -> Encoding # omitField :: Maybe a -> Bool #
Data a => Data (Maybe a) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Maybe a -> c (Maybe a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Maybe a) toConstr :: Maybe a -> Constr dataTypeOf :: Maybe a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Maybe a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Maybe a)) gmapT :: (forall b. Data b => b -> b) -> Maybe a -> Maybe a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Maybe a -> r gmapQ :: (forall d. Data d => d -> u) -> Maybe a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Maybe a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Maybe a -> m (Maybe a)
Semigroup a => Monoid (Maybe a) |
Instance details Defined in GHC.Base Methods mempty :: Maybe a # mappend :: Maybe a -> Maybe a -> Maybe a # mconcat :: [Maybe a] -> Maybe a #
Semigroup a => Semigroup (Maybe a) |
Instance details Defined in GHC.Base Methods (<>) :: Maybe a -> Maybe a -> Maybe a # sconcat :: NonEmpty (Maybe a) -> Maybe a # stimes :: Integral b => b -> Maybe a -> Maybe a #
Generic (Maybe a) |
Instance details Defined in GHC.Generics Associated Types type Rep (Maybe a) :: Type -> Type Methods from :: Maybe a -> Rep (Maybe a) x to :: Rep (Maybe a) x -> Maybe a
SingKind a => SingKind (Maybe a) |
Instance details Defined in GHC.Generics Associated Types type DemoteRep (Maybe a) Methods fromSing :: forall (a0 :: Maybe a). Sing a0 -> DemoteRep (Maybe a)
Read a => Read (Maybe a) |
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS (Maybe a) # readList :: ReadS [Maybe a] # readPrec :: ReadPrec (Maybe a) # readListPrec :: ReadPrec [Maybe a] #
Show a => Show (Maybe a) |
Instance details Defined in GHC.Show Methods showsPrec :: Int -> Maybe a -> ShowS show :: Maybe a -> String showList :: [Maybe a] -> ShowS
Default (Maybe a) |
Instance details Defined in System.Console.CmdArgs.Default Methods def :: Maybe a #
Default (Maybe a) |
Instance details Defined in Data.Default.Class Methods def :: Maybe a #
NFData a => NFData (Maybe a) |
Instance details Defined in Control.DeepSeq Methods rnf :: Maybe a -> ()
Eq a => Eq (Maybe a) |
Instance details Defined in GHC.Maybe Methods (==) :: Maybe a -> Maybe a -> Bool (/=) :: Maybe a -> Maybe a -> Bool
Ord a => Ord (Maybe a) |
Instance details Defined in GHC.Maybe Methods compare :: Maybe a -> Maybe a -> Ordering # (<) :: Maybe a -> Maybe a -> Bool # (<=) :: Maybe a -> Maybe a -> Bool # (>) :: Maybe a -> Maybe a -> Bool # (>=) :: Maybe a -> Maybe a -> Bool # max :: Maybe a -> Maybe a -> Maybe a # min :: Maybe a -> Maybe a -> Maybe a #
Hashable a => Hashable (Maybe a) |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Maybe a -> Int # hash :: Maybe a -> Int #
HasAmounts a => HasAmounts (Maybe a) |
Instance details Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Maybe a -> Maybe a #
MonoFoldable (Maybe a) |
Instance details Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Maybe a) -> m) -> Maybe a -> m # ofoldr :: (Element (Maybe a) -> b -> b) -> b -> Maybe a -> b # ofoldl' :: (a0 -> Element (Maybe a) -> a0) -> a0 -> Maybe a -> a0 # otoList :: Maybe a -> [Element (Maybe a)] # oall :: (Element (Maybe a) -> Bool) -> Maybe a -> Bool # oany :: (Element (Maybe a) -> Bool) -> Maybe a -> Bool # onull :: Maybe a -> Bool # olength :: Maybe a -> Int # olength64 :: Maybe a -> Int64 # ocompareLength :: Integral i => Maybe a -> i -> Ordering # otraverse_ :: Applicative f => (Element (Maybe a) -> f b) -> Maybe a -> f () # ofor_ :: Applicative f => Maybe a -> (Element (Maybe a) -> f b) -> f () # omapM_ :: Applicative m => (Element (Maybe a) -> m ()) -> Maybe a -> m () # oforM_ :: Applicative m => Maybe a -> (Element (Maybe a) -> m ()) -> m () # ofoldlM :: Monad m => (a0 -> Element (Maybe a) -> m a0) -> a0 -> Maybe a -> m a0 # ofoldMap1Ex :: Semigroup m => (Element (Maybe a) -> m) -> Maybe a -> m # ofoldr1Ex :: (Element (Maybe a) -> Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Element (Maybe a) # ofoldl1Ex' :: (Element (Maybe a) -> Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Element (Maybe a) # headEx :: Maybe a -> Element (Maybe a) # lastEx :: Maybe a -> Element (Maybe a) # unsafeHead :: Maybe a -> Element (Maybe a) # unsafeLast :: Maybe a -> Element (Maybe a) # maximumByEx :: (Element (Maybe a) -> Element (Maybe a) -> Ordering) -> Maybe a -> Element (Maybe a) # minimumByEx :: (Element (Maybe a) -> Element (Maybe a) -> Ordering) -> Maybe a -> Element (Maybe a) # oelem :: Element (Maybe a) -> Maybe a -> Bool # onotElem :: Element (Maybe a) -> Maybe a -> Bool #
MonoFunctor (Maybe a) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (Maybe a) -> Element (Maybe a)) -> Maybe a -> Maybe a #
MonoPointed (Maybe a) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (Maybe a) -> Maybe a #
MonoTraversable (Maybe a) |
Instance details Defined in Data.MonoTraversable Methods otraverse :: Applicative f => (Element (Maybe a) -> f (Element (Maybe a))) -> Maybe a -> f (Maybe a) # omapM :: Applicative m => (Element (Maybe a) -> m (Element (Maybe a))) -> Maybe a -> m (Maybe a) #
Pretty a => Pretty (Maybe a) | Ignore `Nothing`s, print `Just` contents.
    >>> pretty (Just True)
    True
    >>> braces (pretty (Nothing :: Maybe Bool))
    {}
    >>> pretty [Just 1, Nothing, Just 3, Nothing]
    [1, 3]
Instance details Defined in Prettyprinter.Internal Methods pretty :: Maybe a -> Doc ann # prettyList :: [Maybe a] -> Doc ann #
SingI ('Nothing :: Maybe a) |
Instance details Defined in GHC.Generics Methods sing :: Sing 'Nothing
Each (Maybe a) (Maybe b) a b |
Instance details Defined in Lens.Micro.Internal Methods each :: Traversal (Maybe a) (Maybe b) a b #
SingI a2 => SingI ('Just a2 :: Maybe a1) |
Instance details Defined in GHC.Generics Methods sing :: Sing ('Just a2)
type Rep1 Maybe |
Instance details Defined in GHC.Generics type Rep1 Maybe = D1 ('MetaData "Maybe" "GHC.Maybe" "base" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type DemoteRep (Maybe a) |
Instance details Defined in GHC.Generics type DemoteRep (Maybe a) = Maybe (DemoteRep a)
type Rep (Maybe a) |
Instance details Defined in GHC.Generics type Rep (Maybe a) = D1 ('MetaData "Maybe" "GHC.Maybe" "base" 'False) (C1 ('MetaCons "Nothing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Just" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
data Sing (b :: Maybe a) |
Instance details Defined in GHC.Generics data Sing (b :: Maybe a) where SNothing :: forall {a}. Sing ('Nothing :: Maybe a) SJust :: forall {a} (a1 :: a). Sing a1 -> Sing ('Just a1)
type Element (Maybe a) |
Instance details Defined in Data.MonoTraversable type Element (Maybe a) = a

type Change #

Arguments

= MixedAmount | A change in balance during a certain period.

class Eq a => Ord a where #

Minimal complete definition

compare | (<=)

Methods

compare :: a -> a -> Ordering #

(<) :: a -> a -> Bool #

(<=) :: a -> a -> Bool #

(>) :: a -> a -> Bool #

(>=) :: a -> a -> Bool #

max :: a -> a -> a #

min :: a -> a -> a #

#### Instances

Instances details

Ord DL |
Instance details Defined in Data.Algorithm.Diff Methods compare :: DL -> DL -> Ordering # (<) :: DL -> DL -> Bool # (<=) :: DL -> DL -> Bool # (>) :: DL -> DL -> Bool # (>=) :: DL -> DL -> Bool # max :: DL -> DL -> DL # min :: DL -> DL -> DL #
Ord DotNetTime |
Instance details Defined in Data.Aeson.Types.Internal Methods compare :: DotNetTime -> DotNetTime -> Ordering # (<) :: DotNetTime -> DotNetTime -> Bool # (<=) :: DotNetTime -> DotNetTime -> Bool # (>) :: DotNetTime -> DotNetTime -> Bool # (>=) :: DotNetTime -> DotNetTime -> Bool # max :: DotNetTime -> DotNetTime -> DotNetTime # min :: DotNetTime -> DotNetTime -> DotNetTime #
Ord JSONPathElement |
Instance details Defined in Data.Aeson.Types.Internal Methods compare :: JSONPathElement -> JSONPathElement -> Ordering # (<) :: JSONPathElement -> JSONPathElement -> Bool # (<=) :: JSONPathElement -> JSONPathElement -> Bool # (>) :: JSONPathElement -> JSONPathElement -> Bool # (>=) :: JSONPathElement -> JSONPathElement -> Bool # max :: JSONPathElement -> JSONPathElement -> JSONPathElement # min :: JSONPathElement -> JSONPathElement -> JSONPathElement #
Ord Value | The ordering is total, consistent with `Eq` instance. However, nothing else about the ordering is specified, and it may change from environment to environment and version to version of either this package or its dependencies (`hashable` and 'unordered-containers'). Since: aeson-1.5.2.0
Instance details Defined in Data.Aeson.Types.Internal Methods compare :: Value -> Value -> Ordering # (<) :: Value -> Value -> Bool # (<=) :: Value -> Value -> Bool # (>) :: Value -> Value -> Bool # (>=) :: Value -> Value -> Bool # max :: Value -> Value -> Value # min :: Value -> Value -> Value #
Ord BlinkSpeed |
Instance details Defined in System.Console.ANSI.Types Methods compare :: BlinkSpeed -> BlinkSpeed -> Ordering # (<) :: BlinkSpeed -> BlinkSpeed -> Bool # (<=) :: BlinkSpeed -> BlinkSpeed -> Bool # (>) :: BlinkSpeed -> BlinkSpeed -> Bool # (>=) :: BlinkSpeed -> BlinkSpeed -> Bool # max :: BlinkSpeed -> BlinkSpeed -> BlinkSpeed # min :: BlinkSpeed -> BlinkSpeed -> BlinkSpeed #
Ord Color |
Instance details Defined in System.Console.ANSI.Types Methods compare :: Color -> Color -> Ordering # (<) :: Color -> Color -> Bool # (<=) :: Color -> Color -> Bool # (>) :: Color -> Color -> Bool # (>=) :: Color -> Color -> Bool # max :: Color -> Color -> Color # min :: Color -> Color -> Color #
Ord ColorIntensity |
Instance details Defined in System.Console.ANSI.Types Methods compare :: ColorIntensity -> ColorIntensity -> Ordering # (<) :: ColorIntensity -> ColorIntensity -> Bool # (<=) :: ColorIntensity -> ColorIntensity -> Bool # (>) :: ColorIntensity -> ColorIntensity -> Bool # (>=) :: ColorIntensity -> ColorIntensity -> Bool # max :: ColorIntensity -> ColorIntensity -> ColorIntensity # min :: ColorIntensity -> ColorIntensity -> ColorIntensity #
Ord ConsoleIntensity |
Instance details Defined in System.Console.ANSI.Types Methods compare :: ConsoleIntensity -> ConsoleIntensity -> Ordering # (<) :: ConsoleIntensity -> ConsoleIntensity -> Bool # (<=) :: ConsoleIntensity -> ConsoleIntensity -> Bool # (>) :: ConsoleIntensity -> ConsoleIntensity -> Bool # (>=) :: ConsoleIntensity -> ConsoleIntensity -> Bool # max :: ConsoleIntensity -> ConsoleIntensity -> ConsoleIntensity # min :: ConsoleIntensity -> ConsoleIntensity -> ConsoleIntensity #
Ord ConsoleLayer |
Instance details Defined in System.Console.ANSI.Types Methods compare :: ConsoleLayer -> ConsoleLayer -> Ordering # (<) :: ConsoleLayer -> ConsoleLayer -> Bool # (<=) :: ConsoleLayer -> ConsoleLayer -> Bool # (>) :: ConsoleLayer -> ConsoleLayer -> Bool # (>=) :: ConsoleLayer -> ConsoleLayer -> Bool # max :: ConsoleLayer -> ConsoleLayer -> ConsoleLayer # min :: ConsoleLayer -> ConsoleLayer -> ConsoleLayer #
Ord Underlining |
Instance details Defined in System.Console.ANSI.Types Methods compare :: Underlining -> Underlining -> Ordering # (<) :: Underlining -> Underlining -> Bool # (<=) :: Underlining -> Underlining -> Bool # (>) :: Underlining -> Underlining -> Bool # (>=) :: Underlining -> Underlining -> Bool # max :: Underlining -> Underlining -> Underlining # min :: Underlining -> Underlining -> Underlining #
Ord Pos |
Instance details Defined in Data.Attoparsec.Internal.Types Methods compare :: Pos -> Pos -> Ordering # (<) :: Pos -> Pos -> Bool # (<=) :: Pos -> Pos -> Bool # (>) :: Pos -> Pos -> Bool # (>=) :: Pos -> Pos -> Bool # max :: Pos -> Pos -> Pos # min :: Pos -> Pos -> Pos #
Ord ByteArray |
Instance details Defined in Data.Array.Byte Methods compare :: ByteArray -> ByteArray -> Ordering # (<) :: ByteArray -> ByteArray -> Bool # (<=) :: ByteArray -> ByteArray -> Bool # (>) :: ByteArray -> ByteArray -> Bool # (>=) :: ByteArray -> ByteArray -> Bool # max :: ByteArray -> ByteArray -> ByteArray # min :: ByteArray -> ByteArray -> ByteArray #
Ord All |
Instance details Defined in Data.Semigroup.Internal Methods compare :: All -> All -> Ordering # (<) :: All -> All -> Bool # (<=) :: All -> All -> Bool # (>) :: All -> All -> Bool # (>=) :: All -> All -> Bool # max :: All -> All -> All # min :: All -> All -> All #
Ord Any |
Instance details Defined in Data.Semigroup.Internal Methods compare :: Any -> Any -> Ordering # (<) :: Any -> Any -> Bool # (<=) :: Any -> Any -> Bool # (>) :: Any -> Any -> Bool # (>=) :: Any -> Any -> Bool # max :: Any -> Any -> Any # min :: Any -> Any -> Any #
Ord SomeTypeRep |
Instance details Defined in Data.Typeable.Internal Methods compare :: SomeTypeRep -> SomeTypeRep -> Ordering # (<) :: SomeTypeRep -> SomeTypeRep -> Bool # (<=) :: SomeTypeRep -> SomeTypeRep -> Bool # (>) :: SomeTypeRep -> SomeTypeRep -> Bool # (>=) :: SomeTypeRep -> SomeTypeRep -> Bool # max :: SomeTypeRep -> SomeTypeRep -> SomeTypeRep # min :: SomeTypeRep -> SomeTypeRep -> SomeTypeRep #
Ord Version |
Instance details Defined in Data.Version Methods compare :: Version -> Version -> Ordering # (<) :: Version -> Version -> Bool # (<=) :: Version -> Version -> Bool # (>) :: Version -> Version -> Bool # (>=) :: Version -> Version -> Bool # max :: Version -> Version -> Version # min :: Version -> Version -> Version #
Ord Void |
Instance details Defined in GHC.Base Methods compare :: Void -> Void -> Ordering # (<) :: Void -> Void -> Bool # (<=) :: Void -> Void -> Bool # (>) :: Void -> Void -> Bool # (>=) :: Void -> Void -> Bool # max :: Void -> Void -> Void # min :: Void -> Void -> Void #
Ord BlockReason |
Instance details Defined in GHC.Conc.Sync Methods compare :: BlockReason -> BlockReason -> Ordering # (<) :: BlockReason -> BlockReason -> Bool # (<=) :: BlockReason -> BlockReason -> Bool # (>) :: BlockReason -> BlockReason -> Bool # (>=) :: BlockReason -> BlockReason -> Bool # max :: BlockReason -> BlockReason -> BlockReason # min :: BlockReason -> BlockReason -> BlockReason #
Ord ThreadId |
Instance details Defined in GHC.Conc.Sync Methods compare :: ThreadId -> ThreadId -> Ordering # (<) :: ThreadId -> ThreadId -> Bool # (<=) :: ThreadId -> ThreadId -> Bool # (>) :: ThreadId -> ThreadId -> Bool # (>=) :: ThreadId -> ThreadId -> Bool # max :: ThreadId -> ThreadId -> ThreadId # min :: ThreadId -> ThreadId -> ThreadId #
Ord ThreadStatus |
Instance details Defined in GHC.Conc.Sync Methods compare :: ThreadStatus -> ThreadStatus -> Ordering # (<) :: ThreadStatus -> ThreadStatus -> Bool # (<=) :: ThreadStatus -> ThreadStatus -> Bool # (>) :: ThreadStatus -> ThreadStatus -> Bool # (>=) :: ThreadStatus -> ThreadStatus -> Bool # max :: ThreadStatus -> ThreadStatus -> ThreadStatus # min :: ThreadStatus -> ThreadStatus -> ThreadStatus #
Ord ErrorCall |
Instance details Defined in GHC.Exception Methods compare :: ErrorCall -> ErrorCall -> Ordering # (<) :: ErrorCall -> ErrorCall -> Bool # (<=) :: ErrorCall -> ErrorCall -> Bool # (>) :: ErrorCall -> ErrorCall -> Bool # (>=) :: ErrorCall -> ErrorCall -> Bool # max :: ErrorCall -> ErrorCall -> ErrorCall # min :: ErrorCall -> ErrorCall -> ErrorCall #
Ord ArithException |
Instance details Defined in GHC.Exception.Type Methods compare :: ArithException -> ArithException -> Ordering # (<) :: ArithException -> ArithException -> Bool # (<=) :: ArithException -> ArithException -> Bool # (>) :: ArithException -> ArithException -> Bool # (>=) :: ArithException -> ArithException -> Bool # max :: ArithException -> ArithException -> ArithException # min :: ArithException -> ArithException -> ArithException #
Ord Associativity |
Instance details Defined in GHC.Generics Methods compare :: Associativity -> Associativity -> Ordering # (<) :: Associativity -> Associativity -> Bool # (<=) :: Associativity -> Associativity -> Bool # (>) :: Associativity -> Associativity -> Bool # (>=) :: Associativity -> Associativity -> Bool # max :: Associativity -> Associativity -> Associativity # min :: Associativity -> Associativity -> Associativity #
Ord DecidedStrictness |
Instance details Defined in GHC.Generics Methods compare :: DecidedStrictness -> DecidedStrictness -> Ordering # (<) :: DecidedStrictness -> DecidedStrictness -> Bool # (<=) :: DecidedStrictness -> DecidedStrictness -> Bool # (>) :: DecidedStrictness -> DecidedStrictness -> Bool # (>=) :: DecidedStrictness -> DecidedStrictness -> Bool # max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness # min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness #
Ord Fixity |
Instance details Defined in GHC.Generics Methods compare :: Fixity -> Fixity -> Ordering # (<) :: Fixity -> Fixity -> Bool # (<=) :: Fixity -> Fixity -> Bool # (>) :: Fixity -> Fixity -> Bool # (>=) :: Fixity -> Fixity -> Bool # max :: Fixity -> Fixity -> Fixity # min :: Fixity -> Fixity -> Fixity #
Ord SourceStrictness |
Instance details Defined in GHC.Generics Methods compare :: SourceStrictness -> SourceStrictness -> Ordering # (<) :: SourceStrictness -> SourceStrictness -> Bool # (<=) :: SourceStrictness -> SourceStrictness -> Bool # (>) :: SourceStrictness -> SourceStrictness -> Bool # (>=) :: SourceStrictness -> SourceStrictness -> Bool # max :: SourceStrictness -> SourceStrictness -> SourceStrictness # min :: SourceStrictness -> SourceStrictness -> SourceStrictness #
Ord SourceUnpackedness |
Instance details Defined in GHC.Generics Methods compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering # (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness # min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness #
Ord SeekMode |
Instance details Defined in GHC.IO.Device Methods compare :: SeekMode -> SeekMode -> Ordering # (<) :: SeekMode -> SeekMode -> Bool # (<=) :: SeekMode -> SeekMode -> Bool # (>) :: SeekMode -> SeekMode -> Bool # (>=) :: SeekMode -> SeekMode -> Bool # max :: SeekMode -> SeekMode -> SeekMode # min :: SeekMode -> SeekMode -> SeekMode #
Ord ArrayException |
Instance details Defined in GHC.IO.Exception Methods compare :: ArrayException -> ArrayException -> Ordering # (<) :: ArrayException -> ArrayException -> Bool # (<=) :: ArrayException -> ArrayException -> Bool # (>) :: ArrayException -> ArrayException -> Bool # (>=) :: ArrayException -> ArrayException -> Bool # max :: ArrayException -> ArrayException -> ArrayException # min :: ArrayException -> ArrayException -> ArrayException #
Ord AsyncException |
Instance details Defined in GHC.IO.Exception Methods compare :: AsyncException -> AsyncException -> Ordering # (<) :: AsyncException -> AsyncException -> Bool # (<=) :: AsyncException -> AsyncException -> Bool # (>) :: AsyncException -> AsyncException -> Bool # (>=) :: AsyncException -> AsyncException -> Bool # max :: AsyncException -> AsyncException -> AsyncException # min :: AsyncException -> AsyncException -> AsyncException #
Ord ExitCode |
Instance details Defined in GHC.IO.Exception Methods compare :: ExitCode -> ExitCode -> Ordering # (<) :: ExitCode -> ExitCode -> Bool # (<=) :: ExitCode -> ExitCode -> Bool # (>) :: ExitCode -> ExitCode -> Bool # (>=) :: ExitCode -> ExitCode -> Bool # max :: ExitCode -> ExitCode -> ExitCode # min :: ExitCode -> ExitCode -> ExitCode #
Ord BufferMode |
Instance details Defined in GHC.IO.Handle.Types Methods compare :: BufferMode -> BufferMode -> Ordering # (<) :: BufferMode -> BufferMode -> Bool # (<=) :: BufferMode -> BufferMode -> Bool # (>) :: BufferMode -> BufferMode -> Bool # (>=) :: BufferMode -> BufferMode -> Bool # max :: BufferMode -> BufferMode -> BufferMode # min :: BufferMode -> BufferMode -> BufferMode #
Ord Newline |
Instance details Defined in GHC.IO.Handle.Types Methods compare :: Newline -> Newline -> Ordering # (<) :: Newline -> Newline -> Bool # (<=) :: Newline -> Newline -> Bool # (>) :: Newline -> Newline -> Bool # (>=) :: Newline -> Newline -> Bool # max :: Newline -> Newline -> Newline # min :: Newline -> Newline -> Newline #
Ord NewlineMode |
Instance details Defined in GHC.IO.Handle.Types Methods compare :: NewlineMode -> NewlineMode -> Ordering # (<) :: NewlineMode -> NewlineMode -> Bool # (<=) :: NewlineMode -> NewlineMode -> Bool # (>) :: NewlineMode -> NewlineMode -> Bool # (>=) :: NewlineMode -> NewlineMode -> Bool # max :: NewlineMode -> NewlineMode -> NewlineMode # min :: NewlineMode -> NewlineMode -> NewlineMode #
Ord IOMode |
Instance details Defined in GHC.IO.IOMode Methods compare :: IOMode -> IOMode -> Ordering # (<) :: IOMode -> IOMode -> Bool # (<=) :: IOMode -> IOMode -> Bool # (>) :: IOMode -> IOMode -> Bool # (>=) :: IOMode -> IOMode -> Bool # max :: IOMode -> IOMode -> IOMode # min :: IOMode -> IOMode -> IOMode #
Ord SomeChar |
Instance details Defined in GHC.TypeLits Methods compare :: SomeChar -> SomeChar -> Ordering # (<) :: SomeChar -> SomeChar -> Bool # (<=) :: SomeChar -> SomeChar -> Bool # (>) :: SomeChar -> SomeChar -> Bool # (>=) :: SomeChar -> SomeChar -> Bool # max :: SomeChar -> SomeChar -> SomeChar # min :: SomeChar -> SomeChar -> SomeChar #
Ord SomeSymbol |
Instance details Defined in GHC.TypeLits Methods compare :: SomeSymbol -> SomeSymbol -> Ordering # (<) :: SomeSymbol -> SomeSymbol -> Bool # (<=) :: SomeSymbol -> SomeSymbol -> Bool # (>) :: SomeSymbol -> SomeSymbol -> Bool # (>=) :: SomeSymbol -> SomeSymbol -> Bool # max :: SomeSymbol -> SomeSymbol -> SomeSymbol # min :: SomeSymbol -> SomeSymbol -> SomeSymbol #
Ord SomeNat |
Instance details Defined in GHC.TypeNats Methods compare :: SomeNat -> SomeNat -> Ordering # (<) :: SomeNat -> SomeNat -> Bool # (<=) :: SomeNat -> SomeNat -> Bool # (>) :: SomeNat -> SomeNat -> Bool # (>=) :: SomeNat -> SomeNat -> Bool # max :: SomeNat -> SomeNat -> SomeNat # min :: SomeNat -> SomeNat -> SomeNat #
Ord GeneralCategory |
Instance details Defined in GHC.Unicode Methods compare :: GeneralCategory -> GeneralCategory -> Ordering # (<) :: GeneralCategory -> GeneralCategory -> Bool # (<=) :: GeneralCategory -> GeneralCategory -> Bool # (>) :: GeneralCategory -> GeneralCategory -> Bool # (>=) :: GeneralCategory -> GeneralCategory -> Bool # max :: GeneralCategory -> GeneralCategory -> GeneralCategory # min :: GeneralCategory -> GeneralCategory -> GeneralCategory #
Ord Word16 |
Instance details Defined in GHC.Word Methods compare :: Word16 -> Word16 -> Ordering # (<) :: Word16 -> Word16 -> Bool # (<=) :: Word16 -> Word16 -> Bool # (>) :: Word16 -> Word16 -> Bool # (>=) :: Word16 -> Word16 -> Bool # max :: Word16 -> Word16 -> Word16 # min :: Word16 -> Word16 -> Word16 #
Ord Word32 |
Instance details Defined in GHC.Word Methods compare :: Word32 -> Word32 -> Ordering # (<) :: Word32 -> Word32 -> Bool # (<=) :: Word32 -> Word32 -> Bool # (>) :: Word32 -> Word32 -> Bool # (>=) :: Word32 -> Word32 -> Bool # max :: Word32 -> Word32 -> Word32 # min :: Word32 -> Word32 -> Word32 #
Ord Word64 |
Instance details Defined in GHC.Word Methods compare :: Word64 -> Word64 -> Ordering # (<) :: Word64 -> Word64 -> Bool # (<=) :: Word64 -> Word64 -> Bool # (>) :: Word64 -> Word64 -> Bool # (>=) :: Word64 -> Word64 -> Bool # max :: Word64 -> Word64 -> Word64 # min :: Word64 -> Word64 -> Word64 #
Ord Word8 |
Instance details Defined in GHC.Word Methods compare :: Word8 -> Word8 -> Ordering # (<) :: Word8 -> Word8 -> Bool # (<=) :: Word8 -> Word8 -> Bool # (>) :: Word8 -> Word8 -> Bool # (>=) :: Word8 -> Word8 -> Bool # max :: Word8 -> Word8 -> Word8 # min :: Word8 -> Word8 -> Word8 #
Ord CBlkCnt |
Instance details Defined in System.Posix.Types Methods compare :: CBlkCnt -> CBlkCnt -> Ordering # (<) :: CBlkCnt -> CBlkCnt -> Bool # (<=) :: CBlkCnt -> CBlkCnt -> Bool # (>) :: CBlkCnt -> CBlkCnt -> Bool # (>=) :: CBlkCnt -> CBlkCnt -> Bool # max :: CBlkCnt -> CBlkCnt -> CBlkCnt # min :: CBlkCnt -> CBlkCnt -> CBlkCnt #
Ord CBlkSize |
Instance details Defined in System.Posix.Types Methods compare :: CBlkSize -> CBlkSize -> Ordering # (<) :: CBlkSize -> CBlkSize -> Bool # (<=) :: CBlkSize -> CBlkSize -> Bool # (>) :: CBlkSize -> CBlkSize -> Bool # (>=) :: CBlkSize -> CBlkSize -> Bool # max :: CBlkSize -> CBlkSize -> CBlkSize # min :: CBlkSize -> CBlkSize -> CBlkSize #
Ord CCc |
Instance details Defined in System.Posix.Types Methods compare :: CCc -> CCc -> Ordering # (<) :: CCc -> CCc -> Bool # (<=) :: CCc -> CCc -> Bool # (>) :: CCc -> CCc -> Bool # (>=) :: CCc -> CCc -> Bool # max :: CCc -> CCc -> CCc # min :: CCc -> CCc -> CCc #
Ord CClockId |
Instance details Defined in System.Posix.Types Methods compare :: CClockId -> CClockId -> Ordering # (<) :: CClockId -> CClockId -> Bool # (<=) :: CClockId -> CClockId -> Bool # (>) :: CClockId -> CClockId -> Bool # (>=) :: CClockId -> CClockId -> Bool # max :: CClockId -> CClockId -> CClockId # min :: CClockId -> CClockId -> CClockId #
Ord CDev |
Instance details Defined in System.Posix.Types Methods compare :: CDev -> CDev -> Ordering # (<) :: CDev -> CDev -> Bool # (<=) :: CDev -> CDev -> Bool # (>) :: CDev -> CDev -> Bool # (>=) :: CDev -> CDev -> Bool # max :: CDev -> CDev -> CDev # min :: CDev -> CDev -> CDev #
Ord CFsBlkCnt |
Instance details Defined in System.Posix.Types Methods compare :: CFsBlkCnt -> CFsBlkCnt -> Ordering # (<) :: CFsBlkCnt -> CFsBlkCnt -> Bool # (<=) :: CFsBlkCnt -> CFsBlkCnt -> Bool # (>) :: CFsBlkCnt -> CFsBlkCnt -> Bool # (>=) :: CFsBlkCnt -> CFsBlkCnt -> Bool # max :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt # min :: CFsBlkCnt -> CFsBlkCnt -> CFsBlkCnt #
Ord CFsFilCnt |
Instance details Defined in System.Posix.Types Methods compare :: CFsFilCnt -> CFsFilCnt -> Ordering # (<) :: CFsFilCnt -> CFsFilCnt -> Bool # (<=) :: CFsFilCnt -> CFsFilCnt -> Bool # (>) :: CFsFilCnt -> CFsFilCnt -> Bool # (>=) :: CFsFilCnt -> CFsFilCnt -> Bool # max :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt # min :: CFsFilCnt -> CFsFilCnt -> CFsFilCnt #
Ord CGid |
Instance details Defined in System.Posix.Types Methods compare :: CGid -> CGid -> Ordering # (<) :: CGid -> CGid -> Bool # (<=) :: CGid -> CGid -> Bool # (>) :: CGid -> CGid -> Bool # (>=) :: CGid -> CGid -> Bool # max :: CGid -> CGid -> CGid # min :: CGid -> CGid -> CGid #
Ord CId |
Instance details Defined in System.Posix.Types Methods compare :: CId -> CId -> Ordering # (<) :: CId -> CId -> Bool # (<=) :: CId -> CId -> Bool # (>) :: CId -> CId -> Bool # (>=) :: CId -> CId -> Bool # max :: CId -> CId -> CId # min :: CId -> CId -> CId #
Ord CIno |
Instance details Defined in System.Posix.Types Methods compare :: CIno -> CIno -> Ordering # (<) :: CIno -> CIno -> Bool # (<=) :: CIno -> CIno -> Bool # (>) :: CIno -> CIno -> Bool # (>=) :: CIno -> CIno -> Bool # max :: CIno -> CIno -> CIno # min :: CIno -> CIno -> CIno #
Ord CKey |
Instance details Defined in System.Posix.Types Methods compare :: CKey -> CKey -> Ordering # (<) :: CKey -> CKey -> Bool # (<=) :: CKey -> CKey -> Bool # (>) :: CKey -> CKey -> Bool # (>=) :: CKey -> CKey -> Bool # max :: CKey -> CKey -> CKey # min :: CKey -> CKey -> CKey #
Ord CMode |
Instance details Defined in System.Posix.Types Methods compare :: CMode -> CMode -> Ordering # (<) :: CMode -> CMode -> Bool # (<=) :: CMode -> CMode -> Bool # (>) :: CMode -> CMode -> Bool # (>=) :: CMode -> CMode -> Bool # max :: CMode -> CMode -> CMode # min :: CMode -> CMode -> CMode #
Ord CNfds |
Instance details Defined in System.Posix.Types Methods compare :: CNfds -> CNfds -> Ordering # (<) :: CNfds -> CNfds -> Bool # (<=) :: CNfds -> CNfds -> Bool # (>) :: CNfds -> CNfds -> Bool # (>=) :: CNfds -> CNfds -> Bool # max :: CNfds -> CNfds -> CNfds # min :: CNfds -> CNfds -> CNfds #
Ord CNlink |
Instance details Defined in System.Posix.Types Methods compare :: CNlink -> CNlink -> Ordering # (<) :: CNlink -> CNlink -> Bool # (<=) :: CNlink -> CNlink -> Bool # (>) :: CNlink -> CNlink -> Bool # (>=) :: CNlink -> CNlink -> Bool # max :: CNlink -> CNlink -> CNlink # min :: CNlink -> CNlink -> CNlink #
Ord COff |
Instance details Defined in System.Posix.Types Methods compare :: COff -> COff -> Ordering # (<) :: COff -> COff -> Bool # (<=) :: COff -> COff -> Bool # (>) :: COff -> COff -> Bool # (>=) :: COff -> COff -> Bool # max :: COff -> COff -> COff # min :: COff -> COff -> COff #
Ord CPid |
Instance details Defined in System.Posix.Types Methods compare :: CPid -> CPid -> Ordering # (<) :: CPid -> CPid -> Bool # (<=) :: CPid -> CPid -> Bool # (>) :: CPid -> CPid -> Bool # (>=) :: CPid -> CPid -> Bool # max :: CPid -> CPid -> CPid # min :: CPid -> CPid -> CPid #
Ord CRLim |
Instance details Defined in System.Posix.Types Methods compare :: CRLim -> CRLim -> Ordering # (<) :: CRLim -> CRLim -> Bool # (<=) :: CRLim -> CRLim -> Bool # (>) :: CRLim -> CRLim -> Bool # (>=) :: CRLim -> CRLim -> Bool # max :: CRLim -> CRLim -> CRLim # min :: CRLim -> CRLim -> CRLim #
Ord CSocklen |
Instance details Defined in System.Posix.Types Methods compare :: CSocklen -> CSocklen -> Ordering # (<) :: CSocklen -> CSocklen -> Bool # (<=) :: CSocklen -> CSocklen -> Bool # (>) :: CSocklen -> CSocklen -> Bool # (>=) :: CSocklen -> CSocklen -> Bool # max :: CSocklen -> CSocklen -> CSocklen # min :: CSocklen -> CSocklen -> CSocklen #
Ord CSpeed |
Instance details Defined in System.Posix.Types Methods compare :: CSpeed -> CSpeed -> Ordering # (<) :: CSpeed -> CSpeed -> Bool # (<=) :: CSpeed -> CSpeed -> Bool # (>) :: CSpeed -> CSpeed -> Bool # (>=) :: CSpeed -> CSpeed -> Bool # max :: CSpeed -> CSpeed -> CSpeed # min :: CSpeed -> CSpeed -> CSpeed #
Ord CSsize |
Instance details Defined in System.Posix.Types Methods compare :: CSsize -> CSsize -> Ordering # (<) :: CSsize -> CSsize -> Bool # (<=) :: CSsize -> CSsize -> Bool # (>) :: CSsize -> CSsize -> Bool # (>=) :: CSsize -> CSsize -> Bool # max :: CSsize -> CSsize -> CSsize # min :: CSsize -> CSsize -> CSsize #
Ord CTcflag |
Instance details Defined in System.Posix.Types Methods compare :: CTcflag -> CTcflag -> Ordering # (<) :: CTcflag -> CTcflag -> Bool # (<=) :: CTcflag -> CTcflag -> Bool # (>) :: CTcflag -> CTcflag -> Bool # (>=) :: CTcflag -> CTcflag -> Bool # max :: CTcflag -> CTcflag -> CTcflag # min :: CTcflag -> CTcflag -> CTcflag #
Ord CTimer |
Instance details Defined in System.Posix.Types Methods compare :: CTimer -> CTimer -> Ordering # (<) :: CTimer -> CTimer -> Bool # (<=) :: CTimer -> CTimer -> Bool # (>) :: CTimer -> CTimer -> Bool # (>=) :: CTimer -> CTimer -> Bool # max :: CTimer -> CTimer -> CTimer # min :: CTimer -> CTimer -> CTimer #
Ord CUid |
Instance details Defined in System.Posix.Types Methods compare :: CUid -> CUid -> Ordering # (<) :: CUid -> CUid -> Bool # (<=) :: CUid -> CUid -> Bool # (>) :: CUid -> CUid -> Bool # (>=) :: CUid -> CUid -> Bool # max :: CUid -> CUid -> CUid # min :: CUid -> CUid -> CUid #
Ord Fd |
Instance details Defined in System.Posix.Types Methods compare :: Fd -> Fd -> Ordering # (<) :: Fd -> Fd -> Bool # (<=) :: Fd -> Fd -> Bool # (>) :: Fd -> Fd -> Bool # (>=) :: Fd -> Fd -> Bool # max :: Fd -> Fd -> Fd # min :: Fd -> Fd -> Fd #
Ord ByteString |
Instance details Defined in Data.ByteString.Internal.Type Methods compare :: ByteString -> ByteString -> Ordering # (<) :: ByteString -> ByteString -> Bool # (<=) :: ByteString -> ByteString -> Bool # (>) :: ByteString -> ByteString -> Bool # (>=) :: ByteString -> ByteString -> Bool # max :: ByteString -> ByteString -> ByteString # min :: ByteString -> ByteString -> ByteString #
Ord ByteString |
Instance details Defined in Data.ByteString.Lazy.Internal Methods compare :: ByteString -> ByteString -> Ordering # (<) :: ByteString -> ByteString -> Bool # (<=) :: ByteString -> ByteString -> Bool # (>) :: ByteString -> ByteString -> Bool # (>=) :: ByteString -> ByteString -> Bool # max :: ByteString -> ByteString -> ByteString # min :: ByteString -> ByteString -> ByteString #
Ord ShortByteString |
Instance details Defined in Data.ByteString.Short.Internal Methods compare :: ShortByteString -> ShortByteString -> Ordering # (<) :: ShortByteString -> ShortByteString -> Bool # (<=) :: ShortByteString -> ShortByteString -> Bool # (>) :: ShortByteString -> ShortByteString -> Bool # (>=) :: ShortByteString -> ShortByteString -> Bool # max :: ShortByteString -> ShortByteString -> ShortByteString # min :: ShortByteString -> ShortByteString -> ShortByteString #
Ord Complete |
Instance details Defined in System.Console.CmdArgs.Explicit.Complete Methods compare :: Complete -> Complete -> Ordering # (<) :: Complete -> Complete -> Bool # (<=) :: Complete -> Complete -> Bool # (>) :: Complete -> Complete -> Bool # (>=) :: Complete -> Complete -> Bool # max :: Complete -> Complete -> Complete # min :: Complete -> Complete -> Complete #
Ord HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods compare :: HelpFormat -> HelpFormat -> Ordering # (<) :: HelpFormat -> HelpFormat -> Bool # (<=) :: HelpFormat -> HelpFormat -> Bool # (>) :: HelpFormat -> HelpFormat -> Bool # (>=) :: HelpFormat -> HelpFormat -> Bool # max :: HelpFormat -> HelpFormat -> HelpFormat # min :: HelpFormat -> HelpFormat -> HelpFormat #
Ord FlagInfo |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods compare :: FlagInfo -> FlagInfo -> Ordering # (<) :: FlagInfo -> FlagInfo -> Bool # (<=) :: FlagInfo -> FlagInfo -> Bool # (>) :: FlagInfo -> FlagInfo -> Bool # (>=) :: FlagInfo -> FlagInfo -> Bool # max :: FlagInfo -> FlagInfo -> FlagInfo # min :: FlagInfo -> FlagInfo -> FlagInfo #
Ord Ann |
Instance details Defined in System.Console.CmdArgs.Implicit.Ann Methods compare :: Ann -> Ann -> Ordering # (<) :: Ann -> Ann -> Bool # (<=) :: Ann -> Ann -> Bool # (>) :: Ann -> Ann -> Bool # (>=) :: Ann -> Ann -> Bool # max :: Ann -> Ann -> Ann # min :: Ann -> Ann -> Ann #
Ord CmdArgsPrivate |
Instance details Defined in System.Console.CmdArgs.Implicit.Type Methods compare :: CmdArgsPrivate -> CmdArgsPrivate -> Ordering # (<) :: CmdArgsPrivate -> CmdArgsPrivate -> Bool # (<=) :: CmdArgsPrivate -> CmdArgsPrivate -> Bool # (>) :: CmdArgsPrivate -> CmdArgsPrivate -> Bool # (>=) :: CmdArgsPrivate -> CmdArgsPrivate -> Bool # max :: CmdArgsPrivate -> CmdArgsPrivate -> CmdArgsPrivate # min :: CmdArgsPrivate -> CmdArgsPrivate -> CmdArgsPrivate #
Ord TextFormat |
Instance details Defined in System.Console.CmdArgs.Text Methods compare :: TextFormat -> TextFormat -> Ordering # (<) :: TextFormat -> TextFormat -> Bool # (<=) :: TextFormat -> TextFormat -> Bool # (>) :: TextFormat -> TextFormat -> Bool # (>=) :: TextFormat -> TextFormat -> Bool # max :: TextFormat -> TextFormat -> TextFormat # min :: TextFormat -> TextFormat -> TextFormat #
Ord Verbosity |
Instance details Defined in System.Console.CmdArgs.Verbosity Methods compare :: Verbosity -> Verbosity -> Ordering # (<) :: Verbosity -> Verbosity -> Bool # (<=) :: Verbosity -> Verbosity -> Bool # (>) :: Verbosity -> Verbosity -> Bool # (>=) :: Verbosity -> Verbosity -> Bool # max :: Verbosity -> Verbosity -> Verbosity # min :: Verbosity -> Verbosity -> Verbosity #
Ord IntSet |
Instance details Defined in Data.IntSet.Internal Methods compare :: IntSet -> IntSet -> Ordering # (<) :: IntSet -> IntSet -> Bool # (<=) :: IntSet -> IntSet -> Bool # (>) :: IntSet -> IntSet -> Bool # (>=) :: IntSet -> IntSet -> Bool # max :: IntSet -> IntSet -> IntSet # min :: IntSet -> IntSet -> IntSet #
Ord FileType |
Instance details Defined in System.Directory.Internal.Common Methods compare :: FileType -> FileType -> Ordering # (<) :: FileType -> FileType -> Bool # (<=) :: FileType -> FileType -> Bool # (>) :: FileType -> FileType -> Bool # (>=) :: FileType -> FileType -> Bool # max :: FileType -> FileType -> FileType # min :: FileType -> FileType -> FileType #
Ord Permissions |
Instance details Defined in System.Directory.Internal.Common Methods compare :: Permissions -> Permissions -> Ordering # (<) :: Permissions -> Permissions -> Bool # (<=) :: Permissions -> Permissions -> Bool # (>) :: Permissions -> Permissions -> Bool # (>=) :: Permissions -> Permissions -> Bool # max :: Permissions -> Permissions -> Permissions # min :: Permissions -> Permissions -> Permissions #
Ord XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods compare :: XdgDirectory -> XdgDirectory -> Ordering # (<) :: XdgDirectory -> XdgDirectory -> Bool # (<=) :: XdgDirectory -> XdgDirectory -> Bool # (>) :: XdgDirectory -> XdgDirectory -> Bool # (>=) :: XdgDirectory -> XdgDirectory -> Bool # max :: XdgDirectory -> XdgDirectory -> XdgDirectory # min :: XdgDirectory -> XdgDirectory -> XdgDirectory #
Ord XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods compare :: XdgDirectoryList -> XdgDirectoryList -> Ordering # (<) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (<=) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (>) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (>=) :: XdgDirectoryList -> XdgDirectoryList -> Bool # max :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList # min :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList #
Ord OsChar |
Instance details Defined in System.OsString.Internal.Types Methods compare :: OsChar -> OsChar -> Ordering # (<) :: OsChar -> OsChar -> Bool # (<=) :: OsChar -> OsChar -> Bool # (>) :: OsChar -> OsChar -> Bool # (>=) :: OsChar -> OsChar -> Bool # max :: OsChar -> OsChar -> OsChar # min :: OsChar -> OsChar -> OsChar #
Ord OsString |
Instance details Defined in System.OsString.Internal.Types Methods compare :: OsString -> OsString -> Ordering # (<) :: OsString -> OsString -> Bool # (<=) :: OsString -> OsString -> Bool # (>) :: OsString -> OsString -> Bool # (>=) :: OsString -> OsString -> Bool # max :: OsString -> OsString -> OsString # min :: OsString -> OsString -> OsString #
Ord PosixChar |
Instance details Defined in System.OsString.Internal.Types Methods compare :: PosixChar -> PosixChar -> Ordering # (<) :: PosixChar -> PosixChar -> Bool # (<=) :: PosixChar -> PosixChar -> Bool # (>) :: PosixChar -> PosixChar -> Bool # (>=) :: PosixChar -> PosixChar -> Bool # max :: PosixChar -> PosixChar -> PosixChar # min :: PosixChar -> PosixChar -> PosixChar #
Ord PosixString |
Instance details Defined in System.OsString.Internal.Types Methods compare :: PosixString -> PosixString -> Ordering # (<) :: PosixString -> PosixString -> Bool # (<=) :: PosixString -> PosixString -> Bool # (>) :: PosixString -> PosixString -> Bool # (>=) :: PosixString -> PosixString -> Bool # max :: PosixString -> PosixString -> PosixString # min :: PosixString -> PosixString -> PosixString #
Ord WindowsChar |
Instance details Defined in System.OsString.Internal.Types Methods compare :: WindowsChar -> WindowsChar -> Ordering # (<) :: WindowsChar -> WindowsChar -> Bool # (<=) :: WindowsChar -> WindowsChar -> Bool # (>) :: WindowsChar -> WindowsChar -> Bool # (>=) :: WindowsChar -> WindowsChar -> Bool # max :: WindowsChar -> WindowsChar -> WindowsChar # min :: WindowsChar -> WindowsChar -> WindowsChar #
Ord WindowsString |
Instance details Defined in System.OsString.Internal.Types Methods compare :: WindowsString -> WindowsString -> Ordering # (<) :: WindowsString -> WindowsString -> Bool # (<=) :: WindowsString -> WindowsString -> Bool # (>) :: WindowsString -> WindowsString -> Bool # (>=) :: WindowsString -> WindowsString -> Bool # max :: WindowsString -> WindowsString -> WindowsString # min :: WindowsString -> WindowsString -> WindowsString #
Ord BigNat |
Instance details Defined in GHC.Num.BigNat Methods compare :: BigNat -> BigNat -> Ordering # (<) :: BigNat -> BigNat -> Bool # (<=) :: BigNat -> BigNat -> Bool # (>) :: BigNat -> BigNat -> Bool # (>=) :: BigNat -> BigNat -> Bool # max :: BigNat -> BigNat -> BigNat # min :: BigNat -> BigNat -> BigNat #
Ord Extension |
Instance details Defined in GHC.LanguageExtensions.Type Methods compare :: Extension -> Extension -> Ordering # (<) :: Extension -> Extension -> Bool # (<=) :: Extension -> Extension -> Bool # (>) :: Extension -> Extension -> Bool # (>=) :: Extension -> Extension -> Bool # max :: Extension -> Extension -> Extension # min :: Extension -> Extension -> Extension #
Ord Ordering |
Instance details Defined in GHC.Classes Methods compare :: Ordering -> Ordering -> Ordering # (<) :: Ordering -> Ordering -> Bool # (<=) :: Ordering -> Ordering -> Bool # (>) :: Ordering -> Ordering -> Bool # (>=) :: Ordering -> Ordering -> Bool # max :: Ordering -> Ordering -> Ordering # min :: Ordering -> Ordering -> Ordering #
Ord TyCon |
Instance details Defined in GHC.Classes Methods compare :: TyCon -> TyCon -> Ordering # (<) :: TyCon -> TyCon -> Bool # (<=) :: TyCon -> TyCon -> Bool # (>) :: TyCon -> TyCon -> Bool # (>=) :: TyCon -> TyCon -> Bool # max :: TyCon -> TyCon -> TyCon # min :: TyCon -> TyCon -> TyCon #
Ord Completion |
Instance details Defined in System.Console.Haskeline.Completion Methods compare :: Completion -> Completion -> Ordering # (<) :: Completion -> Completion -> Bool # (<=) :: Completion -> Completion -> Bool # (>) :: Completion -> Completion -> Bool # (>=) :: Completion -> Completion -> Bool # max :: Completion -> Completion -> Completion # min :: Completion -> Completion -> Completion #
Ord AccountAlias |
Instance details 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 #
Ord AccountType |
Instance details 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 #
Ord Amount |
Instance details Defined in Hledger.Data.Types Methods compare :: Amount -> Amount -> Ordering # (<) :: Amount -> Amount -> Bool # (<=) :: Amount -> Amount -> Bool # (>) :: Amount -> Amount -> Bool # (>=) :: Amount -> Amount -> Bool # max :: Amount -> Amount -> Amount # min :: Amount -> Amount -> Amount #
Ord AmountPrecision |
Instance details Defined in Hledger.Data.Types Methods compare :: AmountPrecision -> AmountPrecision -> Ordering # (<) :: AmountPrecision -> AmountPrecision -> Bool # (<=) :: AmountPrecision -> AmountPrecision -> Bool # (>) :: AmountPrecision -> AmountPrecision -> Bool # (>=) :: AmountPrecision -> AmountPrecision -> Bool # max :: AmountPrecision -> AmountPrecision -> AmountPrecision # min :: AmountPrecision -> AmountPrecision -> AmountPrecision #
Ord AmountPrice |
Instance details Defined in Hledger.Data.Types Methods compare :: AmountPrice -> AmountPrice -> Ordering # (<) :: AmountPrice -> AmountPrice -> Bool # (<=) :: AmountPrice -> AmountPrice -> Bool # (>) :: AmountPrice -> AmountPrice -> Bool # (>=) :: AmountPrice -> AmountPrice -> Bool # max :: AmountPrice -> AmountPrice -> AmountPrice # min :: AmountPrice -> AmountPrice -> AmountPrice #
Ord AmountStyle |
Instance details 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 #
Ord DateSpan |
Instance details Defined in Hledger.Data.Types Methods compare :: DateSpan -> DateSpan -> Ordering # (<) :: DateSpan -> DateSpan -> Bool # (<=) :: DateSpan -> DateSpan -> Bool # (>) :: DateSpan -> DateSpan -> Bool # (>=) :: DateSpan -> DateSpan -> Bool # max :: DateSpan -> DateSpan -> DateSpan # min :: DateSpan -> DateSpan -> DateSpan #
Ord DigitGroupStyle |
Instance details 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 #
Ord EFDay |
Instance details Defined in Hledger.Data.Types Methods compare :: EFDay -> EFDay -> Ordering # (<) :: EFDay -> EFDay -> Bool # (<=) :: EFDay -> EFDay -> Bool # (>) :: EFDay -> EFDay -> Bool # (>=) :: EFDay -> EFDay -> Bool # max :: EFDay -> EFDay -> EFDay # min :: EFDay -> EFDay -> EFDay #
Ord Interval |
Instance details Defined in Hledger.Data.Types Methods compare :: Interval -> Interval -> Ordering # (<) :: Interval -> Interval -> Bool # (<=) :: Interval -> Interval -> Bool # (>) :: Interval -> Interval -> Bool # (>=) :: Interval -> Interval -> Bool # max :: Interval -> Interval -> Interval # min :: Interval -> Interval -> Interval #
Ord MarketPrice |
Instance details 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 #
Ord MixedAmount |
Instance details 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 #
Ord MixedAmountKey | We don't auto-derive the Ord instance because it would give an undesired ordering. We want the keys to be sorted lexicographically: (1) By the primary commodity of the amount. (2) By the commodity of the price, with no price being first. (3) By the unit price, from most negative to most positive, with total prices before unit prices. For example, we would like the ordering to give MixedAmountKeyNoPrice X < MixedAmountKeyTotalPrice X Z < MixedAmountKeyNoPrice Y
Instance details Defined in Hledger.Data.Types Methods compare :: MixedAmountKey -> MixedAmountKey -> Ordering # (<) :: MixedAmountKey -> MixedAmountKey -> Bool # (<=) :: MixedAmountKey -> MixedAmountKey -> Bool # (>) :: MixedAmountKey -> MixedAmountKey -> Bool # (>=) :: MixedAmountKey -> MixedAmountKey -> Bool # max :: MixedAmountKey -> MixedAmountKey -> MixedAmountKey # min :: MixedAmountKey -> MixedAmountKey -> MixedAmountKey #
Ord Period |
Instance details Defined in Hledger.Data.Types Methods compare :: Period -> Period -> Ordering # (<) :: Period -> Period -> Bool # (<=) :: Period -> Period -> Bool # (>) :: Period -> Period -> Bool # (>=) :: Period -> Period -> Bool # max :: Period -> Period -> Period # min :: Period -> Period -> Period #
Ord PriceDirective |
Instance details Defined in Hledger.Data.Types Methods compare :: PriceDirective -> PriceDirective -> Ordering # (<) :: PriceDirective -> PriceDirective -> Bool # (<=) :: PriceDirective -> PriceDirective -> Bool # (>) :: PriceDirective -> PriceDirective -> Bool # (>=) :: PriceDirective -> PriceDirective -> Bool # max :: PriceDirective -> PriceDirective -> PriceDirective # min :: PriceDirective -> PriceDirective -> PriceDirective #
Ord Side |
Instance details Defined in Hledger.Data.Types Methods compare :: Side -> Side -> Ordering # (<) :: Side -> Side -> Bool # (<=) :: Side -> Side -> Bool # (>) :: Side -> Side -> Bool # (>=) :: Side -> Side -> Bool # max :: Side -> Side -> Side # min :: Side -> Side -> Side #
Ord Status |
Instance details Defined in Hledger.Data.Types Methods compare :: Status -> Status -> Ordering # (<) :: Status -> Status -> Bool # (<=) :: Status -> Status -> Bool # (>) :: Status -> Status -> Bool # (>=) :: Status -> Status -> Bool # max :: Status -> Status -> Status # min :: Status -> Status -> Status #
Ord TimeclockCode |
Instance details 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 #
Ord TimeclockEntry |
Instance details 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 #
Ord DisplayName |
Instance details Defined in Hledger.Reports.ReportTypes Methods compare :: DisplayName -> DisplayName -> Ordering # (<) :: DisplayName -> DisplayName -> Bool # (<=) :: DisplayName -> DisplayName -> Bool # (>) :: DisplayName -> DisplayName -> Bool # (>=) :: DisplayName -> DisplayName -> Bool # max :: DisplayName -> DisplayName -> DisplayName # min :: DisplayName -> DisplayName -> DisplayName #
Ord Regexp |
Instance details Defined in Hledger.Utils.Regex Methods compare :: Regexp -> Regexp -> Ordering # (<) :: Regexp -> Regexp -> Bool # (<=) :: Regexp -> Regexp -> Bool # (>) :: Regexp -> Regexp -> Bool # (>=) :: Regexp -> Regexp -> Bool # max :: Regexp -> Regexp -> Regexp # min :: Regexp -> Regexp -> Regexp #
Ord HledgerParseErrorData |
Instance details Defined in Text.Megaparsec.Custom Methods compare :: HledgerParseErrorData -> HledgerParseErrorData -> Ordering # (<) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # (<=) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # (>) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # (>=) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # max :: HledgerParseErrorData -> HledgerParseErrorData -> HledgerParseErrorData # min :: HledgerParseErrorData -> HledgerParseErrorData -> HledgerParseErrorData #
Ord Pos |
Instance details Defined in Text.Megaparsec.Pos Methods compare :: Pos -> Pos -> Ordering # (<) :: Pos -> Pos -> Bool # (<=) :: Pos -> Pos -> Bool # (>) :: Pos -> Pos -> Bool # (>=) :: Pos -> Pos -> Bool # max :: Pos -> Pos -> Pos # min :: Pos -> Pos -> Pos #
Ord SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods compare :: SourcePos -> SourcePos -> Ordering # (<) :: SourcePos -> SourcePos -> Bool # (<=) :: SourcePos -> SourcePos -> Bool # (>) :: SourcePos -> SourcePos -> Bool # (>=) :: SourcePos -> SourcePos -> Bool # max :: SourcePos -> SourcePos -> SourcePos # min :: SourcePos -> SourcePos -> SourcePos #
Ord URI |
Instance details Defined in Network.URI Methods compare :: URI -> URI -> Ordering # (<) :: URI -> URI -> Bool # (<=) :: URI -> URI -> Bool # (>) :: URI -> URI -> Bool # (>=) :: URI -> URI -> Bool # max :: URI -> URI -> URI # min :: URI -> URI -> URI #
Ord URIAuth |
Instance details Defined in Network.URI Methods compare :: URIAuth -> URIAuth -> Ordering # (<) :: URIAuth -> URIAuth -> Bool # (<=) :: URIAuth -> URIAuth -> Bool # (>) :: URIAuth -> URIAuth -> Bool # (>=) :: URIAuth -> URIAuth -> Bool # max :: URIAuth -> URIAuth -> URIAuth # min :: URIAuth -> URIAuth -> URIAuth #
Ord FusionDepth |
Instance details Defined in Prettyprinter.Internal Methods compare :: FusionDepth -> FusionDepth -> Ordering # (<) :: FusionDepth -> FusionDepth -> Bool # (<=) :: FusionDepth -> FusionDepth -> Bool # (>) :: FusionDepth -> FusionDepth -> Bool # (>=) :: FusionDepth -> FusionDepth -> Bool # max :: FusionDepth -> FusionDepth -> FusionDepth # min :: FusionDepth -> FusionDepth -> FusionDepth #
Ord LayoutOptions |
Instance details Defined in Prettyprinter.Internal Methods compare :: LayoutOptions -> LayoutOptions -> Ordering # (<) :: LayoutOptions -> LayoutOptions -> Bool # (<=) :: LayoutOptions -> LayoutOptions -> Bool # (>) :: LayoutOptions -> LayoutOptions -> Bool # (>=) :: LayoutOptions -> LayoutOptions -> Bool # max :: LayoutOptions -> LayoutOptions -> LayoutOptions # min :: LayoutOptions -> LayoutOptions -> LayoutOptions #
Ord PageWidth |
Instance details Defined in Prettyprinter.Internal Methods compare :: PageWidth -> PageWidth -> Ordering # (<) :: PageWidth -> PageWidth -> Bool # (<=) :: PageWidth -> PageWidth -> Bool # (>) :: PageWidth -> PageWidth -> Bool # (>=) :: PageWidth -> PageWidth -> Bool # max :: PageWidth -> PageWidth -> PageWidth # min :: PageWidth -> PageWidth -> PageWidth #
Ord AnsiStyle |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: AnsiStyle -> AnsiStyle -> Ordering # (<) :: AnsiStyle -> AnsiStyle -> Bool # (<=) :: AnsiStyle -> AnsiStyle -> Bool # (>) :: AnsiStyle -> AnsiStyle -> Bool # (>=) :: AnsiStyle -> AnsiStyle -> Bool # max :: AnsiStyle -> AnsiStyle -> AnsiStyle # min :: AnsiStyle -> AnsiStyle -> AnsiStyle #
Ord Bold |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: Bold -> Bold -> Ordering # (<) :: Bold -> Bold -> Bool # (<=) :: Bold -> Bold -> Bool # (>) :: Bold -> Bold -> Bool # (>=) :: Bold -> Bold -> Bool # max :: Bold -> Bold -> Bold # min :: Bold -> Bold -> Bold #
Ord Color |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: Color -> Color -> Ordering # (<) :: Color -> Color -> Bool # (<=) :: Color -> Color -> Bool # (>) :: Color -> Color -> Bool # (>=) :: Color -> Color -> Bool # max :: Color -> Color -> Color # min :: Color -> Color -> Color #
Ord Intensity |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: Intensity -> Intensity -> Ordering # (<) :: Intensity -> Intensity -> Bool # (<=) :: Intensity -> Intensity -> Bool # (>) :: Intensity -> Intensity -> Bool # (>=) :: Intensity -> Intensity -> Bool # max :: Intensity -> Intensity -> Intensity # min :: Intensity -> Intensity -> Intensity #
Ord Italicized |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: Italicized -> Italicized -> Ordering # (<) :: Italicized -> Italicized -> Bool # (<=) :: Italicized -> Italicized -> Bool # (>) :: Italicized -> Italicized -> Bool # (>=) :: Italicized -> Italicized -> Bool # max :: Italicized -> Italicized -> Italicized # min :: Italicized -> Italicized -> Italicized #
Ord Layer |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: Layer -> Layer -> Ordering # (<) :: Layer -> Layer -> Bool # (<=) :: Layer -> Layer -> Bool # (>) :: Layer -> Layer -> Bool # (>=) :: Layer -> Layer -> Bool # max :: Layer -> Layer -> Layer # min :: Layer -> Layer -> Layer #
Ord Underlined |
Instance details Defined in Prettyprinter.Render.Terminal.Internal Methods compare :: Underlined -> Underlined -> Ordering # (<) :: Underlined -> Underlined -> Bool # (<=) :: Underlined -> Underlined -> Bool # (>) :: Underlined -> Underlined -> Bool # (>=) :: Underlined -> Underlined -> Bool # max :: Underlined -> Underlined -> Underlined # min :: Underlined -> Underlined -> Underlined #
Ord DoPa |
Instance details Defined in Text.Regex.TDFA.Common Methods compare :: DoPa -> DoPa -> Ordering # (<) :: DoPa -> DoPa -> Bool # (<=) :: DoPa -> DoPa -> Bool # (>) :: DoPa -> DoPa -> Bool # (>=) :: DoPa -> DoPa -> Bool # max :: DoPa -> DoPa -> DoPa # min :: DoPa -> DoPa -> DoPa #
Ord WhichTest |
Instance details Defined in Text.Regex.TDFA.Common Methods compare :: WhichTest -> WhichTest -> Ordering # (<) :: WhichTest -> WhichTest -> Bool # (<=) :: WhichTest -> WhichTest -> Bool # (>) :: WhichTest -> WhichTest -> Bool # (>=) :: WhichTest -> WhichTest -> Bool # max :: WhichTest -> WhichTest -> WhichTest # min :: WhichTest -> WhichTest -> WhichTest #
Ord Scientific | Scientific numbers can be safely compared for ordering. No magnitude `10^e` is calculated so there's no risk of a blowup in space or time when comparing scientific numbers coming from untrusted sources.
Instance details Defined in Data.Scientific Methods compare :: Scientific -> Scientific -> Ordering # (<) :: Scientific -> Scientific -> Bool # (<=) :: Scientific -> Scientific -> Bool # (>) :: Scientific -> Scientific -> Bool # (>=) :: Scientific -> Scientific -> Bool # max :: Scientific -> Scientific -> Scientific # min :: Scientific -> Scientific -> Scientific #
Ord HideProgress |
Instance details Defined in Test.Tasty.Options.Core Methods compare :: HideProgress -> HideProgress -> Ordering # (<) :: HideProgress -> HideProgress -> Bool # (<=) :: HideProgress -> HideProgress -> Bool # (>) :: HideProgress -> HideProgress -> Bool # (>=) :: HideProgress -> HideProgress -> Bool # max :: HideProgress -> HideProgress -> HideProgress # min :: HideProgress -> HideProgress -> HideProgress #
Ord NumThreads |
Instance details Defined in Test.Tasty.Options.Core Methods compare :: NumThreads -> NumThreads -> Ordering # (<) :: NumThreads -> NumThreads -> Bool # (<=) :: NumThreads -> NumThreads -> Bool # (>) :: NumThreads -> NumThreads -> Bool # (>=) :: NumThreads -> NumThreads -> Bool # max :: NumThreads -> NumThreads -> NumThreads # min :: NumThreads -> NumThreads -> NumThreads #
Ord AnnLookup |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: AnnLookup -> AnnLookup -> Ordering # (<) :: AnnLookup -> AnnLookup -> Bool # (<=) :: AnnLookup -> AnnLookup -> Bool # (>) :: AnnLookup -> AnnLookup -> Bool # (>=) :: AnnLookup -> AnnLookup -> Bool # max :: AnnLookup -> AnnLookup -> AnnLookup # min :: AnnLookup -> AnnLookup -> AnnLookup #
Ord AnnTarget |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: AnnTarget -> AnnTarget -> Ordering # (<) :: AnnTarget -> AnnTarget -> Bool # (<=) :: AnnTarget -> AnnTarget -> Bool # (>) :: AnnTarget -> AnnTarget -> Bool # (>=) :: AnnTarget -> AnnTarget -> Bool # max :: AnnTarget -> AnnTarget -> AnnTarget # min :: AnnTarget -> AnnTarget -> AnnTarget #
Ord Bang |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Bang -> Bang -> Ordering # (<) :: Bang -> Bang -> Bool # (<=) :: Bang -> Bang -> Bool # (>) :: Bang -> Bang -> Bool # (>=) :: Bang -> Bang -> Bool # max :: Bang -> Bang -> Bang # min :: Bang -> Bang -> Bang #
Ord Body |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Body -> Body -> Ordering # (<) :: Body -> Body -> Bool # (<=) :: Body -> Body -> Bool # (>) :: Body -> Body -> Bool # (>=) :: Body -> Body -> Bool # max :: Body -> Body -> Body # min :: Body -> Body -> Body #
Ord Bytes |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Bytes -> Bytes -> Ordering # (<) :: Bytes -> Bytes -> Bool # (<=) :: Bytes -> Bytes -> Bool # (>) :: Bytes -> Bytes -> Bool # (>=) :: Bytes -> Bytes -> Bool # max :: Bytes -> Bytes -> Bytes # min :: Bytes -> Bytes -> Bytes #
Ord Callconv |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Callconv -> Callconv -> Ordering # (<) :: Callconv -> Callconv -> Bool # (<=) :: Callconv -> Callconv -> Bool # (>) :: Callconv -> Callconv -> Bool # (>=) :: Callconv -> Callconv -> Bool # max :: Callconv -> Callconv -> Callconv # min :: Callconv -> Callconv -> Callconv #
Ord Clause |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Clause -> Clause -> Ordering # (<) :: Clause -> Clause -> Bool # (<=) :: Clause -> Clause -> Bool # (>) :: Clause -> Clause -> Bool # (>=) :: Clause -> Clause -> Bool # max :: Clause -> Clause -> Clause # min :: Clause -> Clause -> Clause #
Ord Con |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Con -> Con -> Ordering # (<) :: Con -> Con -> Bool # (<=) :: Con -> Con -> Bool # (>) :: Con -> Con -> Bool # (>=) :: Con -> Con -> Bool # max :: Con -> Con -> Con # min :: Con -> Con -> Con #
Ord Dec |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Dec -> Dec -> Ordering # (<) :: Dec -> Dec -> Bool # (<=) :: Dec -> Dec -> Bool # (>) :: Dec -> Dec -> Bool # (>=) :: Dec -> Dec -> Bool # max :: Dec -> Dec -> Dec # min :: Dec -> Dec -> Dec #
Ord DecidedStrictness |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: DecidedStrictness -> DecidedStrictness -> Ordering # (<) :: DecidedStrictness -> DecidedStrictness -> Bool # (<=) :: DecidedStrictness -> DecidedStrictness -> Bool # (>) :: DecidedStrictness -> DecidedStrictness -> Bool # (>=) :: DecidedStrictness -> DecidedStrictness -> Bool # max :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness # min :: DecidedStrictness -> DecidedStrictness -> DecidedStrictness #
Ord DerivClause |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: DerivClause -> DerivClause -> Ordering # (<) :: DerivClause -> DerivClause -> Bool # (<=) :: DerivClause -> DerivClause -> Bool # (>) :: DerivClause -> DerivClause -> Bool # (>=) :: DerivClause -> DerivClause -> Bool # max :: DerivClause -> DerivClause -> DerivClause # min :: DerivClause -> DerivClause -> DerivClause #
Ord DerivStrategy |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: DerivStrategy -> DerivStrategy -> Ordering # (<) :: DerivStrategy -> DerivStrategy -> Bool # (<=) :: DerivStrategy -> DerivStrategy -> Bool # (>) :: DerivStrategy -> DerivStrategy -> Bool # (>=) :: DerivStrategy -> DerivStrategy -> Bool # max :: DerivStrategy -> DerivStrategy -> DerivStrategy # min :: DerivStrategy -> DerivStrategy -> DerivStrategy #
Ord DocLoc |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: DocLoc -> DocLoc -> Ordering # (<) :: DocLoc -> DocLoc -> Bool # (<=) :: DocLoc -> DocLoc -> Bool # (>) :: DocLoc -> DocLoc -> Bool # (>=) :: DocLoc -> DocLoc -> Bool # max :: DocLoc -> DocLoc -> DocLoc # min :: DocLoc -> DocLoc -> DocLoc #
Ord Exp |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Exp -> Exp -> Ordering # (<) :: Exp -> Exp -> Bool # (<=) :: Exp -> Exp -> Bool # (>) :: Exp -> Exp -> Bool # (>=) :: Exp -> Exp -> Bool # max :: Exp -> Exp -> Exp # min :: Exp -> Exp -> Exp #
Ord FamilyResultSig |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: FamilyResultSig -> FamilyResultSig -> Ordering # (<) :: FamilyResultSig -> FamilyResultSig -> Bool # (<=) :: FamilyResultSig -> FamilyResultSig -> Bool # (>) :: FamilyResultSig -> FamilyResultSig -> Bool # (>=) :: FamilyResultSig -> FamilyResultSig -> Bool # max :: FamilyResultSig -> FamilyResultSig -> FamilyResultSig # min :: FamilyResultSig -> FamilyResultSig -> FamilyResultSig #
Ord Fixity |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Fixity -> Fixity -> Ordering # (<) :: Fixity -> Fixity -> Bool # (<=) :: Fixity -> Fixity -> Bool # (>) :: Fixity -> Fixity -> Bool # (>=) :: Fixity -> Fixity -> Bool # max :: Fixity -> Fixity -> Fixity # min :: Fixity -> Fixity -> Fixity #
Ord FixityDirection |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: FixityDirection -> FixityDirection -> Ordering # (<) :: FixityDirection -> FixityDirection -> Bool # (<=) :: FixityDirection -> FixityDirection -> Bool # (>) :: FixityDirection -> FixityDirection -> Bool # (>=) :: FixityDirection -> FixityDirection -> Bool # max :: FixityDirection -> FixityDirection -> FixityDirection # min :: FixityDirection -> FixityDirection -> FixityDirection #
Ord Foreign |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Foreign -> Foreign -> Ordering # (<) :: Foreign -> Foreign -> Bool # (<=) :: Foreign -> Foreign -> Bool # (>) :: Foreign -> Foreign -> Bool # (>=) :: Foreign -> Foreign -> Bool # max :: Foreign -> Foreign -> Foreign # min :: Foreign -> Foreign -> Foreign #
Ord FunDep |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: FunDep -> FunDep -> Ordering # (<) :: FunDep -> FunDep -> Bool # (<=) :: FunDep -> FunDep -> Bool # (>) :: FunDep -> FunDep -> Bool # (>=) :: FunDep -> FunDep -> Bool # max :: FunDep -> FunDep -> FunDep # min :: FunDep -> FunDep -> FunDep #
Ord Guard |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Guard -> Guard -> Ordering # (<) :: Guard -> Guard -> Bool # (<=) :: Guard -> Guard -> Bool # (>) :: Guard -> Guard -> Bool # (>=) :: Guard -> Guard -> Bool # max :: Guard -> Guard -> Guard # min :: Guard -> Guard -> Guard #
Ord Info |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Info -> Info -> Ordering # (<) :: Info -> Info -> Bool # (<=) :: Info -> Info -> Bool # (>) :: Info -> Info -> Bool # (>=) :: Info -> Info -> Bool # max :: Info -> Info -> Info # min :: Info -> Info -> Info #
Ord InjectivityAnn |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: InjectivityAnn -> InjectivityAnn -> Ordering # (<) :: InjectivityAnn -> InjectivityAnn -> Bool # (<=) :: InjectivityAnn -> InjectivityAnn -> Bool # (>) :: InjectivityAnn -> InjectivityAnn -> Bool # (>=) :: InjectivityAnn -> InjectivityAnn -> Bool # max :: InjectivityAnn -> InjectivityAnn -> InjectivityAnn # min :: InjectivityAnn -> InjectivityAnn -> InjectivityAnn #
Ord Inline |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Inline -> Inline -> Ordering # (<) :: Inline -> Inline -> Bool # (<=) :: Inline -> Inline -> Bool # (>) :: Inline -> Inline -> Bool # (>=) :: Inline -> Inline -> Bool # max :: Inline -> Inline -> Inline # min :: Inline -> Inline -> Inline #
Ord Lit |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Lit -> Lit -> Ordering # (<) :: Lit -> Lit -> Bool # (<=) :: Lit -> Lit -> Bool # (>) :: Lit -> Lit -> Bool # (>=) :: Lit -> Lit -> Bool # max :: Lit -> Lit -> Lit # min :: Lit -> Lit -> Lit #
Ord Loc |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Loc -> Loc -> Ordering # (<) :: Loc -> Loc -> Bool # (<=) :: Loc -> Loc -> Bool # (>) :: Loc -> Loc -> Bool # (>=) :: Loc -> Loc -> Bool # max :: Loc -> Loc -> Loc # min :: Loc -> Loc -> Loc #
Ord Match |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Match -> Match -> Ordering # (<) :: Match -> Match -> Bool # (<=) :: Match -> Match -> Bool # (>) :: Match -> Match -> Bool # (>=) :: Match -> Match -> Bool # max :: Match -> Match -> Match # min :: Match -> Match -> Match #
Ord ModName |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: ModName -> ModName -> Ordering # (<) :: ModName -> ModName -> Bool # (<=) :: ModName -> ModName -> Bool # (>) :: ModName -> ModName -> Bool # (>=) :: ModName -> ModName -> Bool # max :: ModName -> ModName -> ModName # min :: ModName -> ModName -> ModName #
Ord Module |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Module -> Module -> Ordering # (<) :: Module -> Module -> Bool # (<=) :: Module -> Module -> Bool # (>) :: Module -> Module -> Bool # (>=) :: Module -> Module -> Bool # max :: Module -> Module -> Module # min :: Module -> Module -> Module #
Ord ModuleInfo |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: ModuleInfo -> ModuleInfo -> Ordering # (<) :: ModuleInfo -> ModuleInfo -> Bool # (<=) :: ModuleInfo -> ModuleInfo -> Bool # (>) :: ModuleInfo -> ModuleInfo -> Bool # (>=) :: ModuleInfo -> ModuleInfo -> Bool # max :: ModuleInfo -> ModuleInfo -> ModuleInfo # min :: ModuleInfo -> ModuleInfo -> ModuleInfo #
Ord Name |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Name -> Name -> Ordering # (<) :: Name -> Name -> Bool # (<=) :: Name -> Name -> Bool # (>) :: Name -> Name -> Bool # (>=) :: Name -> Name -> Bool # max :: Name -> Name -> Name # min :: Name -> Name -> Name #
Ord NameFlavour |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: NameFlavour -> NameFlavour -> Ordering # (<) :: NameFlavour -> NameFlavour -> Bool # (<=) :: NameFlavour -> NameFlavour -> Bool # (>) :: NameFlavour -> NameFlavour -> Bool # (>=) :: NameFlavour -> NameFlavour -> Bool # max :: NameFlavour -> NameFlavour -> NameFlavour # min :: NameFlavour -> NameFlavour -> NameFlavour #
Ord NameSpace |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: NameSpace -> NameSpace -> Ordering # (<) :: NameSpace -> NameSpace -> Bool # (<=) :: NameSpace -> NameSpace -> Bool # (>) :: NameSpace -> NameSpace -> Bool # (>=) :: NameSpace -> NameSpace -> Bool # max :: NameSpace -> NameSpace -> NameSpace # min :: NameSpace -> NameSpace -> NameSpace #
Ord OccName |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: OccName -> OccName -> Ordering # (<) :: OccName -> OccName -> Bool # (<=) :: OccName -> OccName -> Bool # (>) :: OccName -> OccName -> Bool # (>=) :: OccName -> OccName -> Bool # max :: OccName -> OccName -> OccName # min :: OccName -> OccName -> OccName #
Ord Overlap |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Overlap -> Overlap -> Ordering # (<) :: Overlap -> Overlap -> Bool # (<=) :: Overlap -> Overlap -> Bool # (>) :: Overlap -> Overlap -> Bool # (>=) :: Overlap -> Overlap -> Bool # max :: Overlap -> Overlap -> Overlap # min :: Overlap -> Overlap -> Overlap #
Ord Pat |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Pat -> Pat -> Ordering # (<) :: Pat -> Pat -> Bool # (<=) :: Pat -> Pat -> Bool # (>) :: Pat -> Pat -> Bool # (>=) :: Pat -> Pat -> Bool # max :: Pat -> Pat -> Pat # min :: Pat -> Pat -> Pat #
Ord PatSynArgs |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: PatSynArgs -> PatSynArgs -> Ordering # (<) :: PatSynArgs -> PatSynArgs -> Bool # (<=) :: PatSynArgs -> PatSynArgs -> Bool # (>) :: PatSynArgs -> PatSynArgs -> Bool # (>=) :: PatSynArgs -> PatSynArgs -> Bool # max :: PatSynArgs -> PatSynArgs -> PatSynArgs # min :: PatSynArgs -> PatSynArgs -> PatSynArgs #
Ord PatSynDir |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: PatSynDir -> PatSynDir -> Ordering # (<) :: PatSynDir -> PatSynDir -> Bool # (<=) :: PatSynDir -> PatSynDir -> Bool # (>) :: PatSynDir -> PatSynDir -> Bool # (>=) :: PatSynDir -> PatSynDir -> Bool # max :: PatSynDir -> PatSynDir -> PatSynDir # min :: PatSynDir -> PatSynDir -> PatSynDir #
Ord Phases |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Phases -> Phases -> Ordering # (<) :: Phases -> Phases -> Bool # (<=) :: Phases -> Phases -> Bool # (>) :: Phases -> Phases -> Bool # (>=) :: Phases -> Phases -> Bool # max :: Phases -> Phases -> Phases # min :: Phases -> Phases -> Phases #
Ord PkgName |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: PkgName -> PkgName -> Ordering # (<) :: PkgName -> PkgName -> Bool # (<=) :: PkgName -> PkgName -> Bool # (>) :: PkgName -> PkgName -> Bool # (>=) :: PkgName -> PkgName -> Bool # max :: PkgName -> PkgName -> PkgName # min :: PkgName -> PkgName -> PkgName #
Ord Pragma |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Pragma -> Pragma -> Ordering # (<) :: Pragma -> Pragma -> Bool # (<=) :: Pragma -> Pragma -> Bool # (>) :: Pragma -> Pragma -> Bool # (>=) :: Pragma -> Pragma -> Bool # max :: Pragma -> Pragma -> Pragma # min :: Pragma -> Pragma -> Pragma #
Ord Range |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Range -> Range -> Ordering # (<) :: Range -> Range -> Bool # (<=) :: Range -> Range -> Bool # (>) :: Range -> Range -> Bool # (>=) :: Range -> Range -> Bool # max :: Range -> Range -> Range # min :: Range -> Range -> Range #
Ord Role |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Role -> Role -> Ordering # (<) :: Role -> Role -> Bool # (<=) :: Role -> Role -> Bool # (>) :: Role -> Role -> Bool # (>=) :: Role -> Role -> Bool # max :: Role -> Role -> Role # min :: Role -> Role -> Role #
Ord RuleBndr |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: RuleBndr -> RuleBndr -> Ordering # (<) :: RuleBndr -> RuleBndr -> Bool # (<=) :: RuleBndr -> RuleBndr -> Bool # (>) :: RuleBndr -> RuleBndr -> Bool # (>=) :: RuleBndr -> RuleBndr -> Bool # max :: RuleBndr -> RuleBndr -> RuleBndr # min :: RuleBndr -> RuleBndr -> RuleBndr #
Ord RuleMatch |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: RuleMatch -> RuleMatch -> Ordering # (<) :: RuleMatch -> RuleMatch -> Bool # (<=) :: RuleMatch -> RuleMatch -> Bool # (>) :: RuleMatch -> RuleMatch -> Bool # (>=) :: RuleMatch -> RuleMatch -> Bool # max :: RuleMatch -> RuleMatch -> RuleMatch # min :: RuleMatch -> RuleMatch -> RuleMatch #
Ord Safety |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Safety -> Safety -> Ordering # (<) :: Safety -> Safety -> Bool # (<=) :: Safety -> Safety -> Bool # (>) :: Safety -> Safety -> Bool # (>=) :: Safety -> Safety -> Bool # max :: Safety -> Safety -> Safety # min :: Safety -> Safety -> Safety #
Ord SourceStrictness |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: SourceStrictness -> SourceStrictness -> Ordering # (<) :: SourceStrictness -> SourceStrictness -> Bool # (<=) :: SourceStrictness -> SourceStrictness -> Bool # (>) :: SourceStrictness -> SourceStrictness -> Bool # (>=) :: SourceStrictness -> SourceStrictness -> Bool # max :: SourceStrictness -> SourceStrictness -> SourceStrictness # min :: SourceStrictness -> SourceStrictness -> SourceStrictness #
Ord SourceUnpackedness |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: SourceUnpackedness -> SourceUnpackedness -> Ordering # (<) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (<=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (>=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # max :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness # min :: SourceUnpackedness -> SourceUnpackedness -> SourceUnpackedness #
Ord Specificity |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Specificity -> Specificity -> Ordering # (<) :: Specificity -> Specificity -> Bool # (<=) :: Specificity -> Specificity -> Bool # (>) :: Specificity -> Specificity -> Bool # (>=) :: Specificity -> Specificity -> Bool # max :: Specificity -> Specificity -> Specificity # min :: Specificity -> Specificity -> Specificity #
Ord Stmt |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Stmt -> Stmt -> Ordering # (<) :: Stmt -> Stmt -> Bool # (<=) :: Stmt -> Stmt -> Bool # (>) :: Stmt -> Stmt -> Bool # (>=) :: Stmt -> Stmt -> Bool # max :: Stmt -> Stmt -> Stmt # min :: Stmt -> Stmt -> Stmt #
Ord TyLit |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: TyLit -> TyLit -> Ordering # (<) :: TyLit -> TyLit -> Bool # (<=) :: TyLit -> TyLit -> Bool # (>) :: TyLit -> TyLit -> Bool # (>=) :: TyLit -> TyLit -> Bool # max :: TyLit -> TyLit -> TyLit # min :: TyLit -> TyLit -> TyLit #
Ord TySynEqn |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: TySynEqn -> TySynEqn -> Ordering # (<) :: TySynEqn -> TySynEqn -> Bool # (<=) :: TySynEqn -> TySynEqn -> Bool # (>) :: TySynEqn -> TySynEqn -> Bool # (>=) :: TySynEqn -> TySynEqn -> Bool # max :: TySynEqn -> TySynEqn -> TySynEqn # min :: TySynEqn -> TySynEqn -> TySynEqn #
Ord Type |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: Type -> Type -> Ordering # (<) :: Type -> Type -> Bool # (<=) :: Type -> Type -> Bool # (>) :: Type -> Type -> Bool # (>=) :: Type -> Type -> Bool # max :: Type -> Type -> Type # min :: Type -> Type -> Type #
Ord TypeFamilyHead |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: TypeFamilyHead -> TypeFamilyHead -> Ordering # (<) :: TypeFamilyHead -> TypeFamilyHead -> Bool # (<=) :: TypeFamilyHead -> TypeFamilyHead -> Bool # (>) :: TypeFamilyHead -> TypeFamilyHead -> Bool # (>=) :: TypeFamilyHead -> TypeFamilyHead -> Bool # max :: TypeFamilyHead -> TypeFamilyHead -> TypeFamilyHead # min :: TypeFamilyHead -> TypeFamilyHead -> TypeFamilyHead #
Ord Color |
Instance details Defined in System.Console.Terminfo.Color Methods compare :: Color -> Color -> Ordering # (<) :: Color -> Color -> Bool # (<=) :: Color -> Color -> Bool # (>) :: Color -> Color -> Bool # (>=) :: Color -> Color -> Bool # max :: Color -> Color -> Color # min :: Color -> Color -> Color #
Ord Builder |
Instance details Defined in Data.Text.Internal.Builder Methods compare :: Builder -> Builder -> Ordering # (<) :: Builder -> Builder -> Bool # (<=) :: Builder -> Builder -> Bool # (>) :: Builder -> Builder -> Bool # (>=) :: Builder -> Builder -> Bool # max :: Builder -> Builder -> Builder # min :: Builder -> Builder -> Builder #
Ord B |
Instance details Defined in Data.Text.Short.Internal Methods compare :: B -> B -> Ordering # (<) :: B -> B -> Bool # (<=) :: B -> B -> Bool # (>) :: B -> B -> Bool # (>=) :: B -> B -> Bool # max :: B -> B -> B # min :: B -> B -> B #
Ord ShortText |
Instance details Defined in Data.Text.Short.Internal Methods compare :: ShortText -> ShortText -> Ordering # (<) :: ShortText -> ShortText -> Bool # (<=) :: ShortText -> ShortText -> Bool # (>) :: ShortText -> ShortText -> Bool # (>=) :: ShortText -> ShortText -> Bool # max :: ShortText -> ShortText -> ShortText # min :: ShortText -> ShortText -> ShortText #
Ord ConstructorVariant |
Instance details Defined in Language.Haskell.TH.Datatype Methods compare :: ConstructorVariant -> ConstructorVariant -> Ordering # (<) :: ConstructorVariant -> ConstructorVariant -> Bool # (<=) :: ConstructorVariant -> ConstructorVariant -> Bool # (>) :: ConstructorVariant -> ConstructorVariant -> Bool # (>=) :: ConstructorVariant -> ConstructorVariant -> Bool # max :: ConstructorVariant -> ConstructorVariant -> ConstructorVariant # min :: ConstructorVariant -> ConstructorVariant -> ConstructorVariant #
Ord DatatypeVariant |
Instance details Defined in Language.Haskell.TH.Datatype Methods compare :: DatatypeVariant -> DatatypeVariant -> Ordering # (<) :: DatatypeVariant -> DatatypeVariant -> Bool # (<=) :: DatatypeVariant -> DatatypeVariant -> Bool # (>) :: DatatypeVariant -> DatatypeVariant -> Bool # (>=) :: DatatypeVariant -> DatatypeVariant -> Bool # max :: DatatypeVariant -> DatatypeVariant -> DatatypeVariant # min :: DatatypeVariant -> DatatypeVariant -> DatatypeVariant #
Ord FieldStrictness |
Instance details Defined in Language.Haskell.TH.Datatype Methods compare :: FieldStrictness -> FieldStrictness -> Ordering # (<) :: FieldStrictness -> FieldStrictness -> Bool # (<=) :: FieldStrictness -> FieldStrictness -> Bool # (>) :: FieldStrictness -> FieldStrictness -> Bool # (>=) :: FieldStrictness -> FieldStrictness -> Bool # max :: FieldStrictness -> FieldStrictness -> FieldStrictness # min :: FieldStrictness -> FieldStrictness -> FieldStrictness #
Ord Strictness |
Instance details Defined in Language.Haskell.TH.Datatype Methods compare :: Strictness -> Strictness -> Ordering # (<) :: Strictness -> Strictness -> Bool # (<=) :: Strictness -> Strictness -> Bool # (>) :: Strictness -> Strictness -> Bool # (>=) :: Strictness -> Strictness -> Bool # max :: Strictness -> Strictness -> Strictness # min :: Strictness -> Strictness -> Strictness #
Ord Unpackedness |
Instance details Defined in Language.Haskell.TH.Datatype Methods compare :: Unpackedness -> Unpackedness -> Ordering # (<) :: Unpackedness -> Unpackedness -> Bool # (<=) :: Unpackedness -> Unpackedness -> Bool # (>) :: Unpackedness -> Unpackedness -> Bool # (>=) :: Unpackedness -> Unpackedness -> Bool # max :: Unpackedness -> Unpackedness -> Unpackedness # min :: Unpackedness -> Unpackedness -> Unpackedness #
Ord Day |
Instance details Defined in Data.Time.Calendar.Days Methods compare :: Day -> Day -> Ordering # (<) :: Day -> Day -> Bool # (<=) :: Day -> Day -> Bool # (>) :: Day -> Day -> Bool # (>=) :: Day -> Day -> Bool # max :: Day -> Day -> Day # min :: Day -> Day -> Day #
Ord DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods compare :: DayOfWeek -> DayOfWeek -> Ordering # (<) :: DayOfWeek -> DayOfWeek -> Bool # (<=) :: DayOfWeek -> DayOfWeek -> Bool # (>) :: DayOfWeek -> DayOfWeek -> Bool # (>=) :: DayOfWeek -> DayOfWeek -> Bool # max :: DayOfWeek -> DayOfWeek -> DayOfWeek # min :: DayOfWeek -> DayOfWeek -> DayOfWeek #
Ord DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods compare :: DiffTime -> DiffTime -> Ordering # (<) :: DiffTime -> DiffTime -> Bool # (<=) :: DiffTime -> DiffTime -> Bool # (>) :: DiffTime -> DiffTime -> Bool # (>=) :: DiffTime -> DiffTime -> Bool # max :: DiffTime -> DiffTime -> DiffTime # min :: DiffTime -> DiffTime -> DiffTime #
Ord NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods compare :: NominalDiffTime -> NominalDiffTime -> Ordering # (<) :: NominalDiffTime -> NominalDiffTime -> Bool # (<=) :: NominalDiffTime -> NominalDiffTime -> Bool # (>) :: NominalDiffTime -> NominalDiffTime -> Bool # (>=) :: NominalDiffTime -> NominalDiffTime -> Bool # max :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime # min :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime #
Ord SystemTime |
Instance details Defined in Data.Time.Clock.Internal.SystemTime Methods compare :: SystemTime -> SystemTime -> Ordering # (<) :: SystemTime -> SystemTime -> Bool # (<=) :: SystemTime -> SystemTime -> Bool # (>) :: SystemTime -> SystemTime -> Bool # (>=) :: SystemTime -> SystemTime -> Bool # max :: SystemTime -> SystemTime -> SystemTime # min :: SystemTime -> SystemTime -> SystemTime #
Ord UTCTime |
Instance details Defined in Data.Time.Clock.Internal.UTCTime Methods compare :: UTCTime -> UTCTime -> Ordering # (<) :: UTCTime -> UTCTime -> Bool # (<=) :: UTCTime -> UTCTime -> Bool # (>) :: UTCTime -> UTCTime -> Bool # (>=) :: UTCTime -> UTCTime -> Bool # max :: UTCTime -> UTCTime -> UTCTime # min :: UTCTime -> UTCTime -> UTCTime #
Ord UniversalTime |
Instance details Defined in Data.Time.Clock.Internal.UniversalTime Methods compare :: UniversalTime -> UniversalTime -> Ordering # (<) :: UniversalTime -> UniversalTime -> Bool # (<=) :: UniversalTime -> UniversalTime -> Bool # (>) :: UniversalTime -> UniversalTime -> Bool # (>=) :: UniversalTime -> UniversalTime -> Bool # max :: UniversalTime -> UniversalTime -> UniversalTime # min :: UniversalTime -> UniversalTime -> UniversalTime #
Ord TimeLocale |
Instance details Defined in Data.Time.Format.Locale Methods compare :: TimeLocale -> TimeLocale -> Ordering # (<) :: TimeLocale -> TimeLocale -> Bool # (<=) :: TimeLocale -> TimeLocale -> Bool # (>) :: TimeLocale -> TimeLocale -> Bool # (>=) :: TimeLocale -> TimeLocale -> Bool # max :: TimeLocale -> TimeLocale -> TimeLocale # min :: TimeLocale -> TimeLocale -> TimeLocale #
Ord LocalTime |
Instance details Defined in Data.Time.LocalTime.Internal.LocalTime Methods compare :: LocalTime -> LocalTime -> Ordering # (<) :: LocalTime -> LocalTime -> Bool # (<=) :: LocalTime -> LocalTime -> Bool # (>) :: LocalTime -> LocalTime -> Bool # (>=) :: LocalTime -> LocalTime -> Bool # max :: LocalTime -> LocalTime -> LocalTime # min :: LocalTime -> LocalTime -> LocalTime #
Ord TimeOfDay |
Instance details Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods compare :: TimeOfDay -> TimeOfDay -> Ordering # (<) :: TimeOfDay -> TimeOfDay -> Bool # (<=) :: TimeOfDay -> TimeOfDay -> Bool # (>) :: TimeOfDay -> TimeOfDay -> Bool # (>=) :: TimeOfDay -> TimeOfDay -> Bool # max :: TimeOfDay -> TimeOfDay -> TimeOfDay # min :: TimeOfDay -> TimeOfDay -> TimeOfDay #
Ord TimeZone |
Instance details Defined in Data.Time.LocalTime.Internal.TimeZone Methods compare :: TimeZone -> TimeZone -> Ordering # (<) :: TimeZone -> TimeZone -> Bool # (<=) :: TimeZone -> TimeZone -> Bool # (>) :: TimeZone -> TimeZone -> Bool # (>=) :: TimeZone -> TimeZone -> Bool # max :: TimeZone -> TimeZone -> TimeZone # min :: TimeZone -> TimeZone -> TimeZone #
Ord UUID |
Instance details Defined in Data.UUID.Types.Internal Methods compare :: UUID -> UUID -> Ordering # (<) :: UUID -> UUID -> Bool # (<=) :: UUID -> UUID -> Bool # (>) :: UUID -> UUID -> Bool # (>=) :: UUID -> UUID -> Bool # max :: UUID -> UUID -> UUID # min :: UUID -> UUID -> UUID #
Ord UnpackedUUID |
Instance details Defined in Data.UUID.Types.Internal Methods compare :: UnpackedUUID -> UnpackedUUID -> Ordering # (<) :: UnpackedUUID -> UnpackedUUID -> Bool # (<=) :: UnpackedUUID -> UnpackedUUID -> Bool # (>) :: UnpackedUUID -> UnpackedUUID -> Bool # (>=) :: UnpackedUUID -> UnpackedUUID -> Bool # max :: UnpackedUUID -> UnpackedUUID -> UnpackedUUID # min :: UnpackedUUID -> UnpackedUUID -> UnpackedUUID #
Ord Integer |
Instance details Defined in GHC.Num.Integer Methods compare :: Integer -> Integer -> Ordering # (<) :: Integer -> Integer -> Bool # (<=) :: Integer -> Integer -> Bool # (>) :: Integer -> Integer -> Bool # (>=) :: Integer -> Integer -> Bool # max :: Integer -> Integer -> Integer # min :: Integer -> Integer -> Integer #
Ord Natural |
Instance details Defined in GHC.Num.Natural Methods compare :: Natural -> Natural -> Ordering # (<) :: Natural -> Natural -> Bool # (<=) :: Natural -> Natural -> Bool # (>) :: Natural -> Natural -> Bool # (>=) :: Natural -> Natural -> Bool # max :: Natural -> Natural -> Natural # min :: Natural -> Natural -> Natural #
Ord () |
Instance details Defined in GHC.Classes Methods compare :: () -> () -> Ordering # (<) :: () -> () -> Bool # (<=) :: () -> () -> Bool # (>) :: () -> () -> Bool # (>=) :: () -> () -> Bool # max :: () -> () -> () # min :: () -> () -> () #
Ord Bool |
Instance details Defined in GHC.Classes Methods compare :: Bool -> Bool -> Ordering # (<) :: Bool -> Bool -> Bool # (<=) :: Bool -> Bool -> Bool # (>) :: Bool -> Bool -> Bool # (>=) :: Bool -> Bool -> Bool # max :: Bool -> Bool -> Bool # min :: Bool -> Bool -> Bool #
Ord Char |
Instance details Defined in GHC.Classes Methods compare :: Char -> Char -> Ordering # (<) :: Char -> Char -> Bool # (<=) :: Char -> Char -> Bool # (>) :: Char -> Char -> Bool # (>=) :: Char -> Char -> Bool # max :: Char -> Char -> Char # min :: Char -> Char -> Char #
Ord Double |
Instance details Defined in GHC.Classes Methods compare :: Double -> Double -> Ordering # (<) :: Double -> Double -> Bool # (<=) :: Double -> Double -> Bool # (>) :: Double -> Double -> Bool # (>=) :: Double -> Double -> Bool # max :: Double -> Double -> Double # min :: Double -> Double -> Double #
Ord Float |
Instance details Defined in GHC.Classes Methods compare :: Float -> Float -> Ordering # (<) :: Float -> Float -> Bool # (<=) :: Float -> Float -> Bool # (>) :: Float -> Float -> Bool # (>=) :: Float -> Float -> Bool # max :: Float -> Float -> Float # min :: Float -> Float -> Float #
Ord Int |
Instance details Defined in GHC.Classes Methods compare :: Int -> Int -> Ordering # (<) :: Int -> Int -> Bool # (<=) :: Int -> Int -> Bool # (>) :: Int -> Int -> Bool # (>=) :: Int -> Int -> Bool # max :: Int -> Int -> Int # min :: Int -> Int -> Int #
Ord Word |
Instance details Defined in GHC.Classes Methods compare :: Word -> Word -> Ordering # (<) :: Word -> Word -> Bool # (<=) :: Word -> Word -> Bool # (>) :: Word -> Word -> Bool # (>=) :: Word -> Word -> Bool # max :: Word -> Word -> Word # min :: Word -> Word -> Word #
Integral i => Ord (DecimalRaw i) |
Instance details Defined in Data.Decimal Methods compare :: DecimalRaw i -> DecimalRaw i -> Ordering # (<) :: DecimalRaw i -> DecimalRaw i -> Bool # (<=) :: DecimalRaw i -> DecimalRaw i -> Bool # (>) :: DecimalRaw i -> DecimalRaw i -> Bool # (>=) :: DecimalRaw i -> DecimalRaw i -> Bool # max :: DecimalRaw i -> DecimalRaw i -> DecimalRaw i # min :: DecimalRaw i -> DecimalRaw i -> DecimalRaw i #
Ord a => Ord (Only a) |
Instance details Defined in Data.Tuple.Only Methods compare :: Only a -> Only a -> Ordering # (<) :: Only a -> Only a -> Bool # (<=) :: Only a -> Only a -> Bool # (>) :: Only a -> Only a -> Bool # (>=) :: Only a -> Only a -> Bool # max :: Only a -> Only a -> Only a # min :: Only a -> Only a -> Only a #
Ord v => Ord (KeyMap v) |
Instance details Defined in Data.Aeson.KeyMap Methods compare :: KeyMap v -> KeyMap v -> Ordering # (<) :: KeyMap v -> KeyMap v -> Bool # (<=) :: KeyMap v -> KeyMap v -> Bool # (>) :: KeyMap v -> KeyMap v -> Bool # (>=) :: KeyMap v -> KeyMap v -> Bool # max :: KeyMap v -> KeyMap v -> KeyMap v # min :: KeyMap v -> KeyMap v -> KeyMap v #
Ord a => Ord (ZipList a) |
Instance details Defined in Control.Applicative Methods compare :: ZipList a -> ZipList a -> Ordering # (<) :: ZipList a -> ZipList a -> Bool # (<=) :: ZipList a -> ZipList a -> Bool # (>) :: ZipList a -> ZipList a -> Bool # (>=) :: ZipList a -> ZipList a -> Bool # max :: ZipList a -> ZipList a -> ZipList a # min :: ZipList a -> ZipList a -> ZipList a #
Ord a => Ord (Identity a) |
Instance details Defined in Data.Functor.Identity Methods compare :: Identity a -> Identity a -> Ordering # (<) :: Identity a -> Identity a -> Bool # (<=) :: Identity a -> Identity a -> Bool # (>) :: Identity a -> Identity a -> Bool # (>=) :: Identity a -> Identity a -> Bool # max :: Identity a -> Identity a -> Identity a # min :: Identity a -> Identity a -> Identity a #
Ord a => Ord (Down a) |
Instance details Defined in Data.Ord Methods compare :: Down a -> Down a -> Ordering # (<) :: Down a -> Down a -> Bool # (<=) :: Down a -> Down a -> Bool # (>) :: Down a -> Down a -> Bool # (>=) :: Down a -> Down a -> Bool # max :: Down a -> Down a -> Down a # min :: Down a -> Down a -> Down a #
Ord a => Ord (Dual a) |
Instance details Defined in Data.Semigroup.Internal Methods compare :: Dual a -> Dual a -> Ordering # (<) :: Dual a -> Dual a -> Bool # (<=) :: Dual a -> Dual a -> Bool # (>) :: Dual a -> Dual a -> Bool # (>=) :: Dual a -> Dual a -> Bool # max :: Dual a -> Dual a -> Dual a # min :: Dual a -> Dual a -> Dual a #
Ord a => Ord (Product a) |
Instance details Defined in Data.Semigroup.Internal Methods compare :: Product a -> Product a -> Ordering # (<) :: Product a -> Product a -> Bool # (<=) :: Product a -> Product a -> Bool # (>) :: Product a -> Product a -> Bool # (>=) :: Product a -> Product a -> Bool # max :: Product a -> Product a -> Product a # min :: Product a -> Product a -> Product a #
Ord a => Ord (Sum a) |
Instance details Defined in Data.Semigroup.Internal Methods compare :: Sum a -> Sum a -> Ordering # (<) :: Sum a -> Sum a -> Bool # (<=) :: Sum a -> Sum a -> Bool # (>) :: Sum a -> Sum a -> Bool # (>=) :: Sum a -> Sum a -> Bool # max :: Sum a -> Sum a -> Sum a # min :: Sum a -> Sum a -> Sum a #
Ord a => Ord (NonEmpty a) |
Instance details Defined in GHC.Base Methods compare :: NonEmpty a -> NonEmpty a -> Ordering # (<) :: NonEmpty a -> NonEmpty a -> Bool # (<=) :: NonEmpty a -> NonEmpty a -> Bool # (>) :: NonEmpty a -> NonEmpty a -> Bool # (>=) :: NonEmpty a -> NonEmpty a -> Bool # max :: NonEmpty a -> NonEmpty a -> NonEmpty a # min :: NonEmpty a -> NonEmpty a -> NonEmpty a #
Ord (ForeignPtr a) |
Instance details Defined in GHC.ForeignPtr Methods compare :: ForeignPtr a -> ForeignPtr a -> Ordering # (<) :: ForeignPtr a -> ForeignPtr a -> Bool # (<=) :: ForeignPtr a -> ForeignPtr a -> Bool # (>) :: ForeignPtr a -> ForeignPtr a -> Bool # (>=) :: ForeignPtr a -> ForeignPtr a -> Bool # max :: ForeignPtr a -> ForeignPtr a -> ForeignPtr a # min :: ForeignPtr a -> ForeignPtr a -> ForeignPtr a #
Ord p => Ord (Par1 p) |
Instance details Defined in GHC.Generics Methods compare :: Par1 p -> Par1 p -> Ordering # (<) :: Par1 p -> Par1 p -> Bool # (<=) :: Par1 p -> Par1 p -> Bool # (>) :: Par1 p -> Par1 p -> Bool # (>=) :: Par1 p -> Par1 p -> Bool # max :: Par1 p -> Par1 p -> Par1 p # min :: Par1 p -> Par1 p -> Par1 p #
Ord (FunPtr a) |
Instance details Defined in GHC.Ptr Methods compare :: FunPtr a -> FunPtr a -> Ordering # (<) :: FunPtr a -> FunPtr a -> Bool # (<=) :: FunPtr a -> FunPtr a -> Bool # (>) :: FunPtr a -> FunPtr a -> Bool # (>=) :: FunPtr a -> FunPtr a -> Bool # max :: FunPtr a -> FunPtr a -> FunPtr a # min :: FunPtr a -> FunPtr a -> FunPtr a #
Ord (Ptr a) |
Instance details Defined in GHC.Ptr Methods compare :: Ptr a -> Ptr a -> Ordering # (<) :: Ptr a -> Ptr a -> Bool # (<=) :: Ptr a -> Ptr a -> Bool # (>) :: Ptr a -> Ptr a -> Bool # (>=) :: Ptr a -> Ptr a -> Bool # max :: Ptr a -> Ptr a -> Ptr a # min :: Ptr a -> Ptr a -> Ptr a #
Integral a => Ord (Ratio a) |
Instance details Defined in GHC.Real Methods compare :: Ratio a -> Ratio a -> Ordering # (<) :: Ratio a -> Ratio a -> Bool # (<=) :: Ratio a -> Ratio a -> Bool # (>) :: Ratio a -> Ratio a -> Bool # (>=) :: Ratio a -> Ratio a -> Bool # max :: Ratio a -> Ratio a -> Ratio a # min :: Ratio a -> Ratio a -> Ratio a #
Ord a => Ord (CmdArgs a) |
Instance details Defined in System.Console.CmdArgs.Implicit.Type Methods compare :: CmdArgs a -> CmdArgs a -> Ordering # (<) :: CmdArgs a -> CmdArgs a -> Bool # (<=) :: CmdArgs a -> CmdArgs a -> Bool # (>) :: CmdArgs a -> CmdArgs a -> Bool # (>=) :: CmdArgs a -> CmdArgs a -> Bool # max :: CmdArgs a -> CmdArgs a -> CmdArgs a # min :: CmdArgs a -> CmdArgs a -> CmdArgs a #
Ord a => Ord (Flush a) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods compare :: Flush a -> Flush a -> Ordering # (<) :: Flush a -> Flush a -> Bool # (<=) :: Flush a -> Flush a -> Bool # (>) :: Flush a -> Flush a -> Bool # (>=) :: Flush a -> Flush a -> Bool # max :: Flush a -> Flush a -> Flush a # min :: Flush a -> Flush a -> Flush a #
Ord a => Ord (IntMap a) |
Instance details Defined in Data.IntMap.Internal Methods compare :: IntMap a -> IntMap a -> Ordering # (<) :: IntMap a -> IntMap a -> Bool # (<=) :: IntMap a -> IntMap a -> Bool # (>) :: IntMap a -> IntMap a -> Bool # (>=) :: IntMap a -> IntMap a -> Bool # max :: IntMap a -> IntMap a -> IntMap a # min :: IntMap a -> IntMap a -> IntMap a #
Ord a => Ord (Seq a) |
Instance details Defined in Data.Sequence.Internal Methods compare :: Seq a -> Seq a -> Ordering # (<) :: Seq a -> Seq a -> Bool # (<=) :: Seq a -> Seq a -> Bool # (>) :: Seq a -> Seq a -> Bool # (>=) :: Seq a -> Seq a -> Bool # max :: Seq a -> Seq a -> Seq a # min :: Seq a -> Seq a -> Seq a #
Ord a => Ord (ViewL a) |
Instance details Defined in Data.Sequence.Internal Methods compare :: ViewL a -> ViewL a -> Ordering # (<) :: ViewL a -> ViewL a -> Bool # (<=) :: ViewL a -> ViewL a -> Bool # (>) :: ViewL a -> ViewL a -> Bool # (>=) :: ViewL a -> ViewL a -> Bool # max :: ViewL a -> ViewL a -> ViewL a # min :: ViewL a -> ViewL a -> ViewL a #
Ord a => Ord (ViewR a) |
Instance details Defined in Data.Sequence.Internal Methods compare :: ViewR a -> ViewR a -> Ordering # (<) :: ViewR a -> ViewR a -> Bool # (<=) :: ViewR a -> ViewR a -> Bool # (>) :: ViewR a -> ViewR a -> Bool # (>=) :: ViewR a -> ViewR a -> Bool # max :: ViewR a -> ViewR a -> ViewR a # min :: ViewR a -> ViewR a -> ViewR a #
Ord a => Ord (Intersection a) |
Instance details Defined in Data.Set.Internal Methods compare :: Intersection a -> Intersection a -> Ordering # (<) :: Intersection a -> Intersection a -> Bool # (<=) :: Intersection a -> Intersection a -> Bool # (>) :: Intersection a -> Intersection a -> Bool # (>=) :: Intersection a -> Intersection a -> Bool # max :: Intersection a -> Intersection a -> Intersection a # min :: Intersection a -> Intersection a -> Intersection a #
Ord a => Ord (Set a) |
Instance details Defined in Data.Set.Internal Methods compare :: Set a -> Set a -> Ordering # (<) :: Set a -> Set a -> Bool # (<=) :: Set a -> Set a -> Bool # (>) :: Set a -> Set a -> Bool # (>=) :: Set a -> Set a -> Bool # max :: Set a -> Set a -> Set a # min :: Set a -> Set a -> Set a #
Ord a => Ord (Tree a) |
Instance details Defined in Data.Tree Methods compare :: Tree a -> Tree a -> Ordering # (<) :: Tree a -> Tree a -> Bool # (<=) :: Tree a -> Tree a -> Bool # (>) :: Tree a -> Tree a -> Bool # (>=) :: Tree a -> Tree a -> Bool # max :: Tree a -> Tree a -> Tree a # min :: Tree a -> Tree a -> Tree a #
Ord1 f => Ord (Fix f) |
Instance details Defined in Data.Fix Methods compare :: Fix f -> Fix f -> Ordering # (<) :: Fix f -> Fix f -> Bool # (<=) :: Fix f -> Fix f -> Bool # (>) :: Fix f -> Fix f -> Bool # (>=) :: Fix f -> Fix f -> Bool # max :: Fix f -> Fix f -> Fix f # min :: Fix f -> Fix f -> Fix f #
(Functor f, Ord1 f) => Ord (Mu f) |
Instance details Defined in Data.Fix Methods compare :: Mu f -> Mu f -> Ordering # (<) :: Mu f -> Mu f -> Bool # (<=) :: Mu f -> Mu f -> Bool # (>) :: Mu f -> Mu f -> Bool # (>=) :: Mu f -> Mu f -> Bool # max :: Mu f -> Mu f -> Mu f # min :: Mu f -> Mu f -> Mu f #
(Functor f, Ord1 f) => Ord (Nu f) |
Instance details Defined in Data.Fix Methods compare :: Nu f -> Nu f -> Ordering # (<) :: Nu f -> Nu f -> Bool # (<=) :: Nu f -> Nu f -> Bool # (>) :: Nu f -> Nu f -> Bool # (>=) :: Nu f -> Nu f -> Bool # max :: Nu f -> Nu f -> Nu f # min :: Nu f -> Nu f -> Nu f #
Ord a => Ord (DNonEmpty a) |
Instance details Defined in Data.DList.DNonEmpty.Internal Methods compare :: DNonEmpty a -> DNonEmpty a -> Ordering # (<) :: DNonEmpty a -> DNonEmpty a -> Bool # (<=) :: DNonEmpty a -> DNonEmpty a -> Bool # (>) :: DNonEmpty a -> DNonEmpty a -> Bool # (>=) :: DNonEmpty a -> DNonEmpty a -> Bool # max :: DNonEmpty a -> DNonEmpty a -> DNonEmpty a # min :: DNonEmpty a -> DNonEmpty a -> DNonEmpty a #
Ord a => Ord (DList a) |
Instance details Defined in Data.DList.Internal Methods compare :: DList a -> DList a -> Ordering # (<) :: DList a -> DList a -> Bool # (<=) :: DList a -> DList a -> Bool # (>) :: DList a -> DList a -> Bool # (>=) :: DList a -> DList a -> Bool # max :: DList a -> DList a -> DList a # min :: DList a -> DList a -> DList a #
Ord a => Ord (Doc a) |
Instance details Defined in Text.DocLayout Methods compare :: Doc a -> Doc a -> Ordering # (<) :: Doc a -> Doc a -> Bool # (<=) :: Doc a -> Doc a -> Bool # (>) :: Doc a -> Doc a -> Bool # (>=) :: Doc a -> Doc a -> Bool # max :: Doc a -> Doc a -> Doc a # min :: Doc a -> Doc a -> Doc a #
Ord a => Ord (Hashed a) |
Instance details Defined in Data.Hashable.Class Methods compare :: Hashed a -> Hashed a -> Ordering # (<) :: Hashed a -> Hashed a -> Bool # (<=) :: Hashed a -> Hashed a -> Bool # (>) :: Hashed a -> Hashed a -> Bool # (>=) :: Hashed a -> Hashed a -> Bool # max :: Hashed a -> Hashed a -> Hashed a # min :: Hashed a -> Hashed a -> Hashed a #
Ord a => Ord (FastTree a) |
Instance details Defined in Hledger.Data.Account Methods compare :: FastTree a -> FastTree a -> Ordering # (<) :: FastTree a -> FastTree a -> Bool # (<=) :: FastTree a -> FastTree a -> Bool # (>) :: FastTree a -> FastTree a -> Bool # (>=) :: FastTree a -> FastTree a -> Bool # max :: FastTree a -> FastTree a -> FastTree a # min :: FastTree a -> FastTree a -> FastTree a #
Ord e => Ord (ErrorFancy e) |
Instance details Defined in Text.Megaparsec.Error Methods compare :: ErrorFancy e -> ErrorFancy e -> Ordering # (<) :: ErrorFancy e -> ErrorFancy e -> Bool # (<=) :: ErrorFancy e -> ErrorFancy e -> Bool # (>) :: ErrorFancy e -> ErrorFancy e -> Bool # (>=) :: ErrorFancy e -> ErrorFancy e -> Bool # max :: ErrorFancy e -> ErrorFancy e -> ErrorFancy e # min :: ErrorFancy e -> ErrorFancy e -> ErrorFancy e #
Ord t => Ord (ErrorItem t) |
Instance details Defined in Text.Megaparsec.Error Methods compare :: ErrorItem t -> ErrorItem t -> Ordering # (<) :: ErrorItem t -> ErrorItem t -> Bool # (<=) :: ErrorItem t -> ErrorItem t -> Bool # (>) :: ErrorItem t -> ErrorItem t -> Bool # (>=) :: ErrorItem t -> ErrorItem t -> Bool # max :: ErrorItem t -> ErrorItem t -> ErrorItem t # min :: ErrorItem t -> ErrorItem t -> ErrorItem t #
Ord mono => Ord (NonNull mono) |
Instance details Defined in Data.NonNull Methods compare :: NonNull mono -> NonNull mono -> Ordering # (<) :: NonNull mono -> NonNull mono -> Bool # (<=) :: NonNull mono -> NonNull mono -> Bool # (>) :: NonNull mono -> NonNull mono -> Bool # (>=) :: NonNull mono -> NonNull mono -> Bool # max :: NonNull mono -> NonNull mono -> NonNull mono # min :: NonNull mono -> NonNull mono -> NonNull mono #
Ord ann => Ord (SimpleDocStream ann) |
Instance details Defined in Prettyprinter.Internal Methods compare :: SimpleDocStream ann -> SimpleDocStream ann -> Ordering # (<) :: SimpleDocStream ann -> SimpleDocStream ann -> Bool # (<=) :: SimpleDocStream ann -> SimpleDocStream ann -> Bool # (>) :: SimpleDocStream ann -> SimpleDocStream ann -> Bool # (>=) :: SimpleDocStream ann -> SimpleDocStream ann -> Bool # max :: SimpleDocStream ann -> SimpleDocStream ann -> SimpleDocStream ann # min :: SimpleDocStream ann -> SimpleDocStream ann -> SimpleDocStream ann #
Ord a => Ord (Array a) | Lexicographic ordering. Subject to change between major versions.
Instance details Defined in Data.Primitive.Array Methods compare :: Array a -> Array a -> Ordering # (<) :: Array a -> Array a -> Bool # (<=) :: Array a -> Array a -> Bool # (>) :: Array a -> Array a -> Bool # (>=) :: Array a -> Array a -> Bool # max :: Array a -> Array a -> Array a # min :: Array a -> Array a -> Array a #
(Ord a, Prim a) => Ord (PrimArray a) | Lexicographic ordering. Subject to change between major versions. Since: primitive-0.6.4.0
Instance details Defined in Data.Primitive.PrimArray Methods compare :: PrimArray a -> PrimArray a -> Ordering # (<) :: PrimArray a -> PrimArray a -> Bool # (<=) :: PrimArray a -> PrimArray a -> Bool # (>) :: PrimArray a -> PrimArray a -> Bool # (>=) :: PrimArray a -> PrimArray a -> Bool # max :: PrimArray a -> PrimArray a -> PrimArray a # min :: PrimArray a -> PrimArray a -> PrimArray a #
Ord a => Ord (SmallArray a) | Lexicographic ordering. Subject to change between major versions.
Instance details Defined in Data.Primitive.SmallArray Methods compare :: SmallArray a -> SmallArray a -> Ordering # (<) :: SmallArray a -> SmallArray a -> Bool # (<=) :: SmallArray a -> SmallArray a -> Bool # (>) :: SmallArray a -> SmallArray a -> Bool # (>=) :: SmallArray a -> SmallArray a -> Bool # max :: SmallArray a -> SmallArray a -> SmallArray a # min :: SmallArray a -> SmallArray a -> SmallArray a #
Ord g => Ord (StateGen g) |
Instance details Defined in System.Random.Internal Methods compare :: StateGen g -> StateGen g -> Ordering # (<) :: StateGen g -> StateGen g -> Bool # (<=) :: StateGen g -> StateGen g -> Bool # (>) :: StateGen g -> StateGen g -> Bool # (>=) :: StateGen g -> StateGen g -> Bool # max :: StateGen g -> StateGen g -> StateGen g # min :: StateGen g -> StateGen g -> StateGen g #
Ord g => Ord (AtomicGen g) |
Instance details Defined in System.Random.Stateful Methods compare :: AtomicGen g -> AtomicGen g -> Ordering # (<) :: AtomicGen g -> AtomicGen g -> Bool # (<=) :: AtomicGen g -> AtomicGen g -> Bool # (>) :: AtomicGen g -> AtomicGen g -> Bool # (>=) :: AtomicGen g -> AtomicGen g -> Bool # max :: AtomicGen g -> AtomicGen g -> AtomicGen g # min :: AtomicGen g -> AtomicGen g -> AtomicGen g #
Ord g => Ord (IOGen g) |
Instance details Defined in System.Random.Stateful Methods compare :: IOGen g -> IOGen g -> Ordering # (<) :: IOGen g -> IOGen g -> Bool # (<=) :: IOGen g -> IOGen g -> Bool # (>) :: IOGen g -> IOGen g -> Bool # (>=) :: IOGen g -> IOGen g -> Bool # max :: IOGen g -> IOGen g -> IOGen g # min :: IOGen g -> IOGen g -> IOGen g #
Ord g => Ord (STGen g) |
Instance details Defined in System.Random.Stateful Methods compare :: STGen g -> STGen g -> Ordering # (<) :: STGen g -> STGen g -> Bool # (<=) :: STGen g -> STGen g -> Bool # (>) :: STGen g -> STGen g -> Bool # (>=) :: STGen g -> STGen g -> Bool # max :: STGen g -> STGen g -> STGen g # min :: STGen g -> STGen g -> STGen g #
Ord g => Ord (TGen g) |
Instance details Defined in System.Random.Stateful Methods compare :: TGen g -> TGen g -> Ordering # (<) :: TGen g -> TGen g -> Bool # (<=) :: TGen g -> TGen g -> Bool # (>) :: TGen g -> TGen g -> Bool # (>=) :: TGen g -> TGen g -> Bool # max :: TGen g -> TGen g -> TGen g # min :: TGen g -> TGen g -> TGen g #
Ord a => Ord (Maybe a) |
Instance details Defined in Data.Strict.Maybe Methods compare :: Maybe a -> Maybe a -> Ordering # (<) :: Maybe a -> Maybe a -> Bool # (<=) :: Maybe a -> Maybe a -> Bool # (>) :: Maybe a -> Maybe a -> Bool # (>=) :: Maybe a -> Maybe a -> Bool # max :: Maybe a -> Maybe a -> Maybe a # min :: Maybe a -> Maybe a -> Maybe a #
Ord flag => Ord (TyVarBndr flag) |
Instance details Defined in Language.Haskell.TH.Syntax Methods compare :: TyVarBndr flag -> TyVarBndr flag -> Ordering # (<) :: TyVarBndr flag -> TyVarBndr flag -> Bool # (<=) :: TyVarBndr flag -> TyVarBndr flag -> Bool # (>) :: TyVarBndr flag -> TyVarBndr flag -> Bool # (>=) :: TyVarBndr flag -> TyVarBndr flag -> Bool # max :: TyVarBndr flag -> TyVarBndr flag -> TyVarBndr flag # min :: TyVarBndr flag -> TyVarBndr flag -> TyVarBndr flag #
Ord a => Ord (HashSet a) |
Instance details Defined in Data.HashSet.Internal Methods compare :: HashSet a -> HashSet a -> Ordering # (<) :: HashSet a -> HashSet a -> Bool # (<=) :: HashSet a -> HashSet a -> Bool # (>) :: HashSet a -> HashSet a -> Bool # (>=) :: HashSet a -> HashSet a -> Bool # max :: HashSet a -> HashSet a -> HashSet a # min :: HashSet a -> HashSet a -> HashSet a #
Ord a => Ord (Vector a) |
Instance details Defined in Data.Vector Methods compare :: Vector a -> Vector a -> Ordering # (<) :: Vector a -> Vector a -> Bool # (<=) :: Vector a -> Vector a -> Bool # (>) :: Vector a -> Vector a -> Bool # (>=) :: Vector a -> Vector a -> Bool # max :: Vector a -> Vector a -> Vector a # min :: Vector a -> Vector a -> Vector a #
(Prim a, Ord a) => Ord (Vector a) |
Instance details Defined in Data.Vector.Primitive Methods compare :: Vector a -> Vector a -> Ordering # (<) :: Vector a -> Vector a -> Bool # (<=) :: Vector a -> Vector a -> Bool # (>) :: Vector a -> Vector a -> Bool # (>=) :: Vector a -> Vector a -> Bool # max :: Vector a -> Vector a -> Vector a # min :: Vector a -> Vector a -> Vector a #
(Storable a, Ord a) => Ord (Vector a) |
Instance details Defined in Data.Vector.Storable Methods compare :: Vector a -> Vector a -> Ordering # (<) :: Vector a -> Vector a -> Bool # (<=) :: Vector a -> Vector a -> Bool # (>) :: Vector a -> Vector a -> Bool # (>=) :: Vector a -> Vector a -> Bool # max :: Vector a -> Vector a -> Vector a # min :: Vector a -> Vector a -> Vector a #
Ord a => Ord (Maybe a) |
Instance details Defined in GHC.Maybe Methods compare :: Maybe a -> Maybe a -> Ordering # (<) :: Maybe a -> Maybe a -> Bool # (<=) :: Maybe a -> Maybe a -> Bool # (>) :: Maybe a -> Maybe a -> Bool # (>=) :: Maybe a -> Maybe a -> Bool # max :: Maybe a -> Maybe a -> Maybe a # min :: Maybe a -> Maybe a -> Maybe a #
Ord a => Ord (a) |
Instance details Defined in GHC.Classes Methods compare :: (a) -> (a) -> Ordering # (<) :: (a) -> (a) -> Bool # (<=) :: (a) -> (a) -> Bool # (>) :: (a) -> (a) -> Bool # (>=) :: (a) -> (a) -> Bool # max :: (a) -> (a) -> (a) # min :: (a) -> (a) -> (a) #
Ord a => Ord [a] |
Instance details Defined in GHC.Classes Methods compare :: [a] -> [a] -> Ordering # (<) :: [a] -> [a] -> Bool # (<=) :: [a] -> [a] -> Bool # (>) :: [a] -> [a] -> Bool # (>=) :: [a] -> [a] -> Bool # max :: [a] -> [a] -> [a] # min :: [a] -> [a] -> [a] #
(Ord a, Ord b) => Ord (Either a b) |
Instance details Defined in Data.Either Methods compare :: Either a b -> Either a b -> Ordering # (<) :: Either a b -> Either a b -> Bool # (<=) :: Either a b -> Either a b -> Bool # (>) :: Either a b -> Either a b -> Bool # (>=) :: Either a b -> Either a b -> Bool # max :: Either a b -> Either a b -> Either a b # min :: Either a b -> Either a b -> Either a b #
Ord (Fixed a) |
Instance details Defined in Data.Fixed Methods compare :: Fixed a -> Fixed a -> Ordering # (<) :: Fixed a -> Fixed a -> Bool # (<=) :: Fixed a -> Fixed a -> Bool # (>) :: Fixed a -> Fixed a -> Bool # (>=) :: Fixed a -> Fixed a -> Bool # max :: Fixed a -> Fixed a -> Fixed a # min :: Fixed a -> Fixed a -> Fixed a #
Ord (TypeRep a) |
Instance details Defined in Data.Typeable.Internal Methods compare :: TypeRep a -> TypeRep a -> Ordering # (<) :: TypeRep a -> TypeRep a -> Bool # (<=) :: TypeRep a -> TypeRep a -> Bool # (>) :: TypeRep a -> TypeRep a -> Bool # (>=) :: TypeRep a -> TypeRep a -> Bool # max :: TypeRep a -> TypeRep a -> TypeRep a # min :: TypeRep a -> TypeRep a -> TypeRep a #
Ord (U1 p) |
Instance details Defined in GHC.Generics Methods compare :: U1 p -> U1 p -> Ordering # (<) :: U1 p -> U1 p -> Bool # (<=) :: U1 p -> U1 p -> Bool # (>) :: U1 p -> U1 p -> Bool # (>=) :: U1 p -> U1 p -> Bool # max :: U1 p -> U1 p -> U1 p # min :: U1 p -> U1 p -> U1 p #
Ord (V1 p) |
Instance details Defined in GHC.Generics Methods compare :: V1 p -> V1 p -> Ordering # (<) :: V1 p -> V1 p -> Bool # (<=) :: V1 p -> V1 p -> Bool # (>) :: V1 p -> V1 p -> Bool # (>=) :: V1 p -> V1 p -> Bool # max :: V1 p -> V1 p -> V1 p # min :: V1 p -> V1 p -> V1 p #
(Ord k, Ord v) => Ord (Map k v) |
Instance details Defined in Data.Map.Internal Methods compare :: Map k v -> Map k v -> Ordering # (<) :: Map k v -> Map k v -> Bool # (<=) :: Map k v -> Map k v -> Bool # (>) :: Map k v -> Map k v -> Bool # (>=) :: Map k v -> Map k v -> Bool # max :: Map k v -> Map k v -> Map k v # min :: Map k v -> Map k v -> Map k v #
(Ord a, Ord1 f) => Ord (Free f a) |
Instance details Defined in Control.Monad.Free Methods compare :: Free f a -> Free f a -> Ordering # (<) :: Free f a -> Free f a -> Bool # (<=) :: Free f a -> Free f a -> Bool # (>) :: Free f a -> Free f a -> Bool # (>=) :: Free f a -> Free f a -> Bool # max :: Free f a -> Free f a -> Free f a # min :: Free f a -> Free f a -> Free f a #
Ord (ParseError Text HledgerParseErrorData) |
Instance details Defined in Text.Megaparsec.Custom Methods compare :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Ordering # (<) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (<=) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (>) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (>=) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # max :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData # min :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData #
(Ord a, Ord b) => Ord (Either a b) |
Instance details Defined in Data.Strict.Either Methods compare :: Either a b -> Either a b -> Ordering # (<) :: Either a b -> Either a b -> Bool # (<=) :: Either a b -> Either a b -> Bool # (>) :: Either a b -> Either a b -> Bool # (>=) :: Either a b -> Either a b -> Bool # max :: Either a b -> Either a b -> Either a b # min :: Either a b -> Either a b -> Either a b #
(Ord a, Ord b) => Ord (These a b) |
Instance details Defined in Data.Strict.These Methods compare :: These a b -> These a b -> Ordering # (<) :: These a b -> These a b -> Bool # (<=) :: These a b -> These a b -> Bool # (>) :: These a b -> These a b -> Bool # (>=) :: These a b -> These a b -> Bool # max :: These a b -> These a b -> These a b # min :: These a b -> These a b -> These a b #
(Ord a, Ord b) => Ord (Pair a b) |
Instance details Defined in Data.Strict.Tuple Methods compare :: Pair a b -> Pair a b -> Ordering # (<) :: Pair a b -> Pair a b -> Bool # (<=) :: Pair a b -> Pair a b -> Bool # (>) :: Pair a b -> Pair a b -> Bool # (>=) :: Pair a b -> Pair a b -> Bool # max :: Pair a b -> Pair a b -> Pair a b # min :: Pair a b -> Pair a b -> Pair a b #
(Ord a, Ord b) => Ord (These a b) |
Instance details Defined in Data.These Methods compare :: These a b -> These a b -> Ordering # (<) :: These a b -> These a b -> Bool # (<=) :: These a b -> These a b -> Bool # (>) :: These a b -> These a b -> Bool # (>=) :: These a b -> These a b -> Bool # max :: These a b -> These a b -> These a b # min :: These a b -> These a b -> These a b #
(Ord1 f, Ord a) => Ord (Lift f a) |
Instance details Defined in Control.Applicative.Lift Methods compare :: Lift f a -> Lift f a -> Ordering # (<) :: Lift f a -> Lift f a -> Bool # (<=) :: Lift f a -> Lift f a -> Bool # (>) :: Lift f a -> Lift f a -> Bool # (>=) :: Lift f a -> Lift f a -> Bool # max :: Lift f a -> Lift f a -> Lift f a # min :: Lift f a -> Lift f a -> Lift f a #
(Ord1 m, Ord a) => Ord (MaybeT m a) |
Instance details Defined in Control.Monad.Trans.Maybe Methods compare :: MaybeT m a -> MaybeT m a -> Ordering # (<) :: MaybeT m a -> MaybeT m a -> Bool # (<=) :: MaybeT m a -> MaybeT m a -> Bool # (>) :: MaybeT m a -> MaybeT m a -> Bool # (>=) :: MaybeT m a -> MaybeT m a -> Bool # max :: MaybeT m a -> MaybeT m a -> MaybeT m a # min :: MaybeT m a -> MaybeT m a -> MaybeT m a #
(Ord k, Ord v) => Ord (HashMap k v) | The ordering is total and consistent with the `Eq` instance. However, nothing else about the ordering is specified, and it may change from version to version of either this package or of hashable.
Instance details Defined in Data.HashMap.Internal Methods compare :: HashMap k v -> HashMap k v -> Ordering # (<) :: HashMap k v -> HashMap k v -> Bool # (<=) :: HashMap k v -> HashMap k v -> Bool # (>) :: HashMap k v -> HashMap k v -> Bool # (>=) :: HashMap k v -> HashMap k v -> Bool # max :: HashMap k v -> HashMap k v -> HashMap k v # min :: HashMap k v -> HashMap k v -> HashMap k v #
(Ord a, Ord b) => Ord (a, b) |
Instance details Defined in GHC.Classes Methods compare :: (a, b) -> (a, b) -> Ordering # (<) :: (a, b) -> (a, b) -> Bool # (<=) :: (a, b) -> (a, b) -> Bool # (>) :: (a, b) -> (a, b) -> Bool # (>=) :: (a, b) -> (a, b) -> Bool # max :: (a, b) -> (a, b) -> (a, b) # min :: (a, b) -> (a, b) -> (a, b) #
Ord a => Ord (Const a b) |
Instance details Defined in Data.Functor.Const Methods compare :: Const a b -> Const a b -> Ordering # (<) :: Const a b -> Const a b -> Bool # (<=) :: Const a b -> Const a b -> Bool # (>) :: Const a b -> Const a b -> Bool # (>=) :: Const a b -> Const a b -> Bool # max :: Const a b -> Const a b -> Const a b # min :: Const a b -> Const a b -> Const a b #
Ord (f a) => Ord (Alt f a) |
Instance details Defined in Data.Semigroup.Internal Methods compare :: Alt f a -> Alt f a -> Ordering # (<) :: Alt f a -> Alt f a -> Bool # (<=) :: Alt f a -> Alt f a -> Bool # (>) :: Alt f a -> Alt f a -> Bool # (>=) :: Alt f a -> Alt f a -> Bool # max :: Alt f a -> Alt f a -> Alt f a # min :: Alt f a -> Alt f a -> Alt f a #
Ord (a :~: b) |
Instance details Defined in Data.Type.Equality Methods compare :: (a :~: b) -> (a :~: b) -> Ordering # (<) :: (a :~: b) -> (a :~: b) -> Bool # (<=) :: (a :~: b) -> (a :~: b) -> Bool # (>) :: (a :~: b) -> (a :~: b) -> Bool # (>=) :: (a :~: b) -> (a :~: b) -> Bool # max :: (a :~: b) -> (a :~: b) -> a :~: b # min :: (a :~: b) -> (a :~: b) -> a :~: b #
(Generic1 f, Ord (Rep1 f a)) => Ord (Generically1 f a) |
Instance details Defined in GHC.Generics Methods compare :: Generically1 f a -> Generically1 f a -> Ordering # (<) :: Generically1 f a -> Generically1 f a -> Bool # (<=) :: Generically1 f a -> Generically1 f a -> Bool # (>) :: Generically1 f a -> Generically1 f a -> Bool # (>=) :: Generically1 f a -> Generically1 f a -> Bool # max :: Generically1 f a -> Generically1 f a -> Generically1 f a # min :: Generically1 f a -> Generically1 f a -> Generically1 f a #
Ord (f p) => Ord (Rec1 f p) |
Instance details Defined in GHC.Generics Methods compare :: Rec1 f p -> Rec1 f p -> Ordering # (<) :: Rec1 f p -> Rec1 f p -> Bool # (<=) :: Rec1 f p -> Rec1 f p -> Bool # (>) :: Rec1 f p -> Rec1 f p -> Bool # (>=) :: Rec1 f p -> Rec1 f p -> Bool # max :: Rec1 f p -> Rec1 f p -> Rec1 f p # min :: Rec1 f p -> Rec1 f p -> Rec1 f p #
Ord (URec (Ptr ()) p) |
Instance details Defined in GHC.Generics Methods compare :: URec (Ptr ()) p -> URec (Ptr ()) p -> Ordering # (<) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (<=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (>) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # (>=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool # max :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p # min :: URec (Ptr ()) p -> URec (Ptr ()) p -> URec (Ptr ()) p #
Ord (URec Char p) |
Instance details Defined in GHC.Generics Methods compare :: URec Char p -> URec Char p -> Ordering # (<) :: URec Char p -> URec Char p -> Bool # (<=) :: URec Char p -> URec Char p -> Bool # (>) :: URec Char p -> URec Char p -> Bool # (>=) :: URec Char p -> URec Char p -> Bool # max :: URec Char p -> URec Char p -> URec Char p # min :: URec Char p -> URec Char p -> URec Char p #
Ord (URec Double p) |
Instance details Defined in GHC.Generics Methods compare :: URec Double p -> URec Double p -> Ordering # (<) :: URec Double p -> URec Double p -> Bool # (<=) :: URec Double p -> URec Double p -> Bool # (>) :: URec Double p -> URec Double p -> Bool # (>=) :: URec Double p -> URec Double p -> Bool # max :: URec Double p -> URec Double p -> URec Double p # min :: URec Double p -> URec Double p -> URec Double p #
Ord (URec Float p) |
Instance details Defined in GHC.Generics Methods compare :: URec Float p -> URec Float p -> Ordering # (<) :: URec Float p -> URec Float p -> Bool # (<=) :: URec Float p -> URec Float p -> Bool # (>) :: URec Float p -> URec Float p -> Bool # (>=) :: URec Float p -> URec Float p -> Bool # max :: URec Float p -> URec Float p -> URec Float p # min :: URec Float p -> URec Float p -> URec Float p #
Ord (URec Int p) |
Instance details Defined in GHC.Generics Methods compare :: URec Int p -> URec Int p -> Ordering # (<) :: URec Int p -> URec Int p -> Bool # (<=) :: URec Int p -> URec Int p -> Bool # (>) :: URec Int p -> URec Int p -> Bool # (>=) :: URec Int p -> URec Int p -> Bool # max :: URec Int p -> URec Int p -> URec Int p # min :: URec Int p -> URec Int p -> URec Int p #
Ord (URec Word p) |
Instance details Defined in GHC.Generics Methods compare :: URec Word p -> URec Word p -> Ordering # (<) :: URec Word p -> URec Word p -> Bool # (<=) :: URec Word p -> URec Word p -> Bool # (>) :: URec Word p -> URec Word p -> Bool # (>=) :: URec Word p -> URec Word p -> Bool # max :: URec Word p -> URec Word p -> URec Word p # min :: URec Word p -> URec Word p -> URec Word p #
Ord b => Ord (Tagged s b) |
Instance details Defined in Data.Tagged Methods compare :: Tagged s b -> Tagged s b -> Ordering # (<) :: Tagged s b -> Tagged s b -> Bool # (<=) :: Tagged s b -> Tagged s b -> Bool # (>) :: Tagged s b -> Tagged s b -> Bool # (>=) :: Tagged s b -> Tagged s b -> Bool # max :: Tagged s b -> Tagged s b -> Tagged s b # min :: Tagged s b -> Tagged s b -> Tagged s b #
(Ord (f a), Ord (g a), Ord a) => Ord (These1 f g a) |
Instance details Defined in Data.Functor.These Methods compare :: These1 f g a -> These1 f g a -> Ordering # (<) :: These1 f g a -> These1 f g a -> Bool # (<=) :: These1 f g a -> These1 f g a -> Bool # (>) :: These1 f g a -> These1 f g a -> Bool # (>=) :: These1 f g a -> These1 f g a -> Bool # max :: These1 f g a -> These1 f g a -> These1 f g a # min :: These1 f g a -> These1 f g a -> These1 f g a #
(Ord1 f, Ord a) => Ord (Backwards f a) |
Instance details Defined in Control.Applicative.Backwards Methods compare :: Backwards f a -> Backwards f a -> Ordering # (<) :: Backwards f a -> Backwards f a -> Bool # (<=) :: Backwards f a -> Backwards f a -> Bool # (>) :: Backwards f a -> Backwards f a -> Bool # (>=) :: Backwards f a -> Backwards f a -> Bool # max :: Backwards f a -> Backwards f a -> Backwards f a # min :: Backwards f a -> Backwards f a -> Backwards f a #
(Ord e, Ord1 m, Ord a) => Ord (ExceptT e m a) |
Instance details Defined in Control.Monad.Trans.Except Methods compare :: ExceptT e m a -> ExceptT e m a -> Ordering # (<) :: ExceptT e m a -> ExceptT e m a -> Bool # (<=) :: ExceptT e m a -> ExceptT e m a -> Bool # (>) :: ExceptT e m a -> ExceptT e m a -> Bool # (>=) :: ExceptT e m a -> ExceptT e m a -> Bool # max :: ExceptT e m a -> ExceptT e m a -> ExceptT e m a # min :: ExceptT e m a -> ExceptT e m a -> ExceptT e m a #
(Ord1 f, Ord a) => Ord (IdentityT f a) |
Instance details Defined in Control.Monad.Trans.Identity Methods compare :: IdentityT f a -> IdentityT f a -> Ordering # (<) :: IdentityT f a -> IdentityT f a -> Bool # (<=) :: IdentityT f a -> IdentityT f a -> Bool # (>) :: IdentityT f a -> IdentityT f a -> Bool # (>=) :: IdentityT f a -> IdentityT f a -> Bool # max :: IdentityT f a -> IdentityT f a -> IdentityT f a # min :: IdentityT f a -> IdentityT f a -> IdentityT f a #
(Ord w, Ord1 m, Ord a) => Ord (WriterT w m a) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods compare :: WriterT w m a -> WriterT w m a -> Ordering # (<) :: WriterT w m a -> WriterT w m a -> Bool # (<=) :: WriterT w m a -> WriterT w m a -> Bool # (>) :: WriterT w m a -> WriterT w m a -> Bool # (>=) :: WriterT w m a -> WriterT w m a -> Bool # max :: WriterT w m a -> WriterT w m a -> WriterT w m a # min :: WriterT w m a -> WriterT w m a -> WriterT w m a #
(Ord w, Ord1 m, Ord a) => Ord (WriterT w m a) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods compare :: WriterT w m a -> WriterT w m a -> Ordering # (<) :: WriterT w m a -> WriterT w m a -> Bool # (<=) :: WriterT w m a -> WriterT w m a -> Bool # (>) :: WriterT w m a -> WriterT w m a -> Bool # (>=) :: WriterT w m a -> WriterT w m a -> Bool # max :: WriterT w m a -> WriterT w m a -> WriterT w m a # min :: WriterT w m a -> WriterT w m a -> WriterT w m a #
Ord a => Ord (Constant a b) |
Instance details Defined in Data.Functor.Constant Methods compare :: Constant a b -> Constant a b -> Ordering # (<) :: Constant a b -> Constant a b -> Bool # (<=) :: Constant a b -> Constant a b -> Bool # (>) :: Constant a b -> Constant a b -> Bool # (>=) :: Constant a b -> Constant a b -> Bool # max :: Constant a b -> Constant a b -> Constant a b # min :: Constant a b -> Constant a b -> Constant a b #
(Ord1 f, Ord a) => Ord (Reverse f a) |
Instance details Defined in Data.Functor.Reverse Methods compare :: Reverse f a -> Reverse f a -> Ordering # (<) :: Reverse f a -> Reverse f a -> Bool # (<=) :: Reverse f a -> Reverse f a -> Bool # (>) :: Reverse f a -> Reverse f a -> Bool # (>=) :: Reverse f a -> Reverse f a -> Bool # max :: Reverse f a -> Reverse f a -> Reverse f a # min :: Reverse f a -> Reverse f a -> Reverse f a #
(Ord a, Ord b, Ord c) => Ord (a, b, c) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c) -> (a, b, c) -> Ordering # (<) :: (a, b, c) -> (a, b, c) -> Bool # (<=) :: (a, b, c) -> (a, b, c) -> Bool # (>) :: (a, b, c) -> (a, b, c) -> Bool # (>=) :: (a, b, c) -> (a, b, c) -> Bool # max :: (a, b, c) -> (a, b, c) -> (a, b, c) # min :: (a, b, c) -> (a, b, c) -> (a, b, c) #
Ord (a :~~: b) |
Instance details Defined in Data.Type.Equality Methods compare :: (a :~~: b) -> (a :~~: b) -> Ordering # (<) :: (a :~~: b) -> (a :~~: b) -> Bool # (<=) :: (a :~~: b) -> (a :~~: b) -> Bool # (>) :: (a :~~: b) -> (a :~~: b) -> Bool # (>=) :: (a :~~: b) -> (a :~~: b) -> Bool # max :: (a :~~: b) -> (a :~~: b) -> a :~~: b # min :: (a :~~: b) -> (a :~~: b) -> a :~~: b #
(Ord (f p), Ord (g p)) => Ord ((f :*: g) p) |
Instance details Defined in GHC.Generics Methods compare :: (f :*: g) p -> (f :*: g) p -> Ordering # (<) :: (f :*: g) p -> (f :*: g) p -> Bool # (<=) :: (f :*: g) p -> (f :*: g) p -> Bool # (>) :: (f :*: g) p -> (f :*: g) p -> Bool # (>=) :: (f :*: g) p -> (f :*: g) p -> Bool # max :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p # min :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p #
(Ord (f p), Ord (g p)) => Ord ((f :+: g) p) |
Instance details Defined in GHC.Generics Methods compare :: (f :+: g) p -> (f :+: g) p -> Ordering # (<) :: (f :+: g) p -> (f :+: g) p -> Bool # (<=) :: (f :+: g) p -> (f :+: g) p -> Bool # (>) :: (f :+: g) p -> (f :+: g) p -> Bool # (>=) :: (f :+: g) p -> (f :+: g) p -> Bool # max :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p # min :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p #
Ord c => Ord (K1 i c p) |
Instance details Defined in GHC.Generics Methods compare :: K1 i c p -> K1 i c p -> Ordering # (<) :: K1 i c p -> K1 i c p -> Bool # (<=) :: K1 i c p -> K1 i c p -> Bool # (>) :: K1 i c p -> K1 i c p -> Bool # (>=) :: K1 i c p -> K1 i c p -> Bool # max :: K1 i c p -> K1 i c p -> K1 i c p # min :: K1 i c p -> K1 i c p -> K1 i c p #
(Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d) -> (a, b, c, d) -> Ordering # (<) :: (a, b, c, d) -> (a, b, c, d) -> Bool # (<=) :: (a, b, c, d) -> (a, b, c, d) -> Bool # (>) :: (a, b, c, d) -> (a, b, c, d) -> Bool # (>=) :: (a, b, c, d) -> (a, b, c, d) -> Bool # max :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) # min :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) #
Ord (f (g a)) => Ord (Compose f g a) |
Instance details Defined in Data.Functor.Compose Methods compare :: Compose f g a -> Compose f g a -> Ordering # (<) :: Compose f g a -> Compose f g a -> Bool # (<=) :: Compose f g a -> Compose f g a -> Bool # (>) :: Compose f g a -> Compose f g a -> Bool # (>=) :: Compose f g a -> Compose f g a -> Bool # max :: Compose f g a -> Compose f g a -> Compose f g a # min :: Compose f g a -> Compose f g a -> Compose f g a #
Ord (f (g p)) => Ord ((f :.: g) p) |
Instance details Defined in GHC.Generics Methods compare :: (f :.: g) p -> (f :.: g) p -> Ordering # (<) :: (f :.: g) p -> (f :.: g) p -> Bool # (<=) :: (f :.: g) p -> (f :.: g) p -> Bool # (>) :: (f :.: g) p -> (f :.: g) p -> Bool # (>=) :: (f :.: g) p -> (f :.: g) p -> Bool # max :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p # min :: (f :.: g) p -> (f :.: g) p -> (f :.: g) p #
Ord (f p) => Ord (M1 i c f p) |
Instance details Defined in GHC.Generics Methods compare :: M1 i c f p -> M1 i c f p -> Ordering # (<) :: M1 i c f p -> M1 i c f p -> Bool # (<=) :: M1 i c f p -> M1 i c f p -> Bool # (>) :: M1 i c f p -> M1 i c f p -> Bool # (>=) :: M1 i c f p -> M1 i c f p -> Bool # max :: M1 i c f p -> M1 i c f p -> M1 i c f p # min :: M1 i c f p -> M1 i c f p -> M1 i c f p #
(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e) -> (a, b, c, d, e) -> Ordering # (<) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # (<=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # (>) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # (>=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool # max :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) # min :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Ordering # (<) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # (<=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # (>) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # (>=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool # max :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) # min :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Ordering # (<) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # (<=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # (>) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # (>=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool # max :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) # min :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (a, b, c, d, e, f, g, h) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Ordering # (<) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # (<=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # (>) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # (>=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool # max :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) # min :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (a, b, c, d, e, f, g, h, i) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool # max :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) # min :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (a, b, c, d, e, f, g, h, i, j) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) # min :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (a, b, c, d, e, f, g, h, i, j, k) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) # min :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (a, b, c, d, e, f, g, h, i, j, k, l) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) # min :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) # min :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) # min :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) #
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) |
Instance details Defined in GHC.Classes Methods compare :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Ordering # (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool # max :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) # min :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) #

type FilePath = String #

class Functor f => Applicative (f :: Type -> Type) where #

Minimal complete definition

pure, ((<*>) | liftA2)

Methods

pure :: a -> f a #

(<*>) :: f (a -> b) -> f a -> f b #

liftA2 :: (a -> b -> c) -> f a -> f b -> f c #

(*>) :: f a -> f b -> f b #

(<*) :: f a -> f b -> f a #

#### Instances

Instances details

Applicative IResult |
Instance details Defined in Data.Aeson.Types.Internal Methods pure :: a -> IResult a # (<*>) :: IResult (a -> b) -> IResult a -> IResult b # liftA2 :: (a -> b -> c) -> IResult a -> IResult b -> IResult c # (*>) :: IResult a -> IResult b -> IResult b # (<*) :: IResult a -> IResult b -> IResult a #
Applicative Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods pure :: a -> Parser a # (<*>) :: Parser (a -> b) -> Parser a -> Parser b # liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c # (*>) :: Parser a -> Parser b -> Parser b # (<*) :: Parser a -> Parser b -> Parser a #
Applicative Result |
Instance details Defined in Data.Aeson.Types.Internal Methods pure :: a -> Result a # (<*>) :: Result (a -> b) -> Result a -> Result b # liftA2 :: (a -> b -> c) -> Result a -> Result b -> Result c # (*>) :: Result a -> Result b -> Result b # (<*) :: Result a -> Result b -> Result a #
Applicative ZipList |
Instance details Defined in Control.Applicative Methods pure :: a -> ZipList a # (<*>) :: ZipList (a -> b) -> ZipList a -> ZipList b # liftA2 :: (a -> b -> c) -> ZipList a -> ZipList b -> ZipList c # (*>) :: ZipList a -> ZipList b -> ZipList b # (<*) :: ZipList a -> ZipList b -> ZipList a #
Applicative Identity |
Instance details Defined in Data.Functor.Identity Methods pure :: a -> Identity a # (<*>) :: Identity (a -> b) -> Identity a -> Identity b # liftA2 :: (a -> b -> c) -> Identity a -> Identity b -> Identity c # (*>) :: Identity a -> Identity b -> Identity b # (<*) :: Identity a -> Identity b -> Identity a #
Applicative Down |
Instance details Defined in Data.Ord Methods pure :: a -> Down a # (<*>) :: Down (a -> b) -> Down a -> Down b # liftA2 :: (a -> b -> c) -> Down a -> Down b -> Down c # (*>) :: Down a -> Down b -> Down b # (<*) :: Down a -> Down b -> Down a #
Applicative Dual |
Instance details Defined in Data.Semigroup.Internal Methods pure :: a -> Dual a # (<*>) :: Dual (a -> b) -> Dual a -> Dual b # liftA2 :: (a -> b -> c) -> Dual a -> Dual b -> Dual c # (*>) :: Dual a -> Dual b -> Dual b # (<*) :: Dual a -> Dual b -> Dual a #
Applicative Product |
Instance details Defined in Data.Semigroup.Internal Methods pure :: a -> Product a # (<*>) :: Product (a -> b) -> Product a -> Product b # liftA2 :: (a -> b -> c) -> Product a -> Product b -> Product c # (*>) :: Product a -> Product b -> Product b # (<*) :: Product a -> Product b -> Product a #
Applicative Sum |
Instance details Defined in Data.Semigroup.Internal Methods pure :: a -> Sum a # (<*>) :: Sum (a -> b) -> Sum a -> Sum b # liftA2 :: (a -> b -> c) -> Sum a -> Sum b -> Sum c # (*>) :: Sum a -> Sum b -> Sum b # (<*) :: Sum a -> Sum b -> Sum a #
Applicative NonEmpty |
Instance details Defined in GHC.Base Methods pure :: a -> NonEmpty a # (<*>) :: NonEmpty (a -> b) -> NonEmpty a -> NonEmpty b # liftA2 :: (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c # (*>) :: NonEmpty a -> NonEmpty b -> NonEmpty b # (<*) :: NonEmpty a -> NonEmpty b -> NonEmpty a #
Applicative STM |
Instance details Defined in GHC.Conc.Sync Methods pure :: a -> STM a # (<*>) :: STM (a -> b) -> STM a -> STM b # liftA2 :: (a -> b -> c) -> STM a -> STM b -> STM c # (*>) :: STM a -> STM b -> STM b # (<*) :: STM a -> STM b -> STM a #
Applicative Par1 |
Instance details Defined in GHC.Generics Methods pure :: a -> Par1 a # (<*>) :: Par1 (a -> b) -> Par1 a -> Par1 b # liftA2 :: (a -> b -> c) -> Par1 a -> Par1 b -> Par1 c # (*>) :: Par1 a -> Par1 b -> Par1 b # (<*) :: Par1 a -> Par1 b -> Par1 a #
Applicative P |
Instance details Defined in Text.ParserCombinators.ReadP Methods pure :: a -> P a # (<*>) :: P (a -> b) -> P a -> P b # liftA2 :: (a -> b -> c) -> P a -> P b -> P c # (*>) :: P a -> P b -> P b # (<*) :: P a -> P b -> P a #
Applicative ReadP |
Instance details Defined in Text.ParserCombinators.ReadP Methods pure :: a -> ReadP a # (<*>) :: ReadP (a -> b) -> ReadP a -> ReadP b # liftA2 :: (a -> b -> c) -> ReadP a -> ReadP b -> ReadP c # (*>) :: ReadP a -> ReadP b -> ReadP b # (<*) :: ReadP a -> ReadP b -> ReadP a #
Applicative ReadPrec |
Instance details Defined in Text.ParserCombinators.ReadPrec Methods pure :: a -> ReadPrec a # (<*>) :: ReadPrec (a -> b) -> ReadPrec a -> ReadPrec b # liftA2 :: (a -> b -> c) -> ReadPrec a -> ReadPrec b -> ReadPrec c # (*>) :: ReadPrec a -> ReadPrec b -> ReadPrec b # (<*) :: ReadPrec a -> ReadPrec b -> ReadPrec a #
Applicative Put |
Instance details Defined in Data.ByteString.Builder.Internal Methods pure :: a -> Put a # (<*>) :: Put (a -> b) -> Put a -> Put b # liftA2 :: (a -> b -> c) -> Put a -> Put b -> Put c # (*>) :: Put a -> Put b -> Put b # (<*) :: Put a -> Put b -> Put a #
Applicative RGB |
Instance details Defined in Data.Colour.RGB Methods pure :: a -> RGB a # (<*>) :: RGB (a -> b) -> RGB a -> RGB b # liftA2 :: (a -> b -> c) -> RGB a -> RGB b -> RGB c # (*>) :: RGB a -> RGB b -> RGB b # (<*) :: RGB a -> RGB b -> RGB a #
Applicative Seq |
Instance details Defined in Data.Sequence.Internal Methods pure :: a -> Seq a # (<*>) :: Seq (a -> b) -> Seq a -> Seq b # liftA2 :: (a -> b -> c) -> Seq a -> Seq b -> Seq c # (*>) :: Seq a -> Seq b -> Seq b # (<*) :: Seq a -> Seq b -> Seq a #
Applicative Tree |
Instance details Defined in Data.Tree Methods pure :: a -> Tree a # (<*>) :: Tree (a -> b) -> Tree a -> Tree b # liftA2 :: (a -> b -> c) -> Tree a -> Tree b -> Tree c # (*>) :: Tree a -> Tree b -> Tree b # (<*) :: Tree a -> Tree b -> Tree a #
Applicative DNonEmpty |
Instance details Defined in Data.DList.DNonEmpty.Internal Methods pure :: a -> DNonEmpty a # (<*>) :: DNonEmpty (a -> b) -> DNonEmpty a -> DNonEmpty b # liftA2 :: (a -> b -> c) -> DNonEmpty a -> DNonEmpty b -> DNonEmpty c # (*>) :: DNonEmpty a -> DNonEmpty b -> DNonEmpty b # (<*) :: DNonEmpty a -> DNonEmpty b -> DNonEmpty a #
Applicative DList |
Instance details Defined in Data.DList.Internal Methods pure :: a -> DList a # (<*>) :: DList (a -> b) -> DList a -> DList b # liftA2 :: (a -> b -> c) -> DList a -> DList b -> DList c # (*>) :: DList a -> DList b -> DList b # (<*) :: DList a -> DList b -> DList a #
Applicative IO |
Instance details Defined in GHC.Base Methods pure :: a -> IO a # (<*>) :: IO (a -> b) -> IO a -> IO b # liftA2 :: (a -> b -> c) -> IO a -> IO b -> IO c # (*>) :: IO a -> IO b -> IO b # (<*) :: IO a -> IO b -> IO a #
Applicative Root |
Instance details Defined in Numeric.RootFinding Methods pure :: a -> Root a # (<*>) :: Root (a -> b) -> Root a -> Root b # liftA2 :: (a -> b -> c) -> Root a -> Root b -> Root c # (*>) :: Root a -> Root b -> Root b # (<*) :: Root a -> Root b -> Root a #
Applicative Array |
Instance details Defined in Data.Primitive.Array Methods pure :: a -> Array a # (<*>) :: Array (a -> b) -> Array a -> Array b # liftA2 :: (a -> b -> c) -> Array a -> Array b -> Array c # (*>) :: Array a -> Array b -> Array b # (<*) :: Array a -> Array b -> Array a #
Applicative SmallArray |
Instance details Defined in Data.Primitive.SmallArray Methods pure :: a -> SmallArray a # (<*>) :: SmallArray (a -> b) -> SmallArray a -> SmallArray b # liftA2 :: (a -> b -> c) -> SmallArray a -> SmallArray b -> SmallArray c # (*>) :: SmallArray a -> SmallArray b -> SmallArray b # (<*) :: SmallArray a -> SmallArray b -> SmallArray a #
Applicative Q |
Instance details Defined in Language.Haskell.TH.Syntax Methods pure :: a -> Q a # (<*>) :: Q (a -> b) -> Q a -> Q b # liftA2 :: (a -> b -> c) -> Q a -> Q b -> Q c # (*>) :: Q a -> Q b -> Q b # (<*) :: Q a -> Q b -> Q a #
Applicative Capability |
Instance details Defined in System.Console.Terminfo.Base Methods pure :: a -> Capability a # (<*>) :: Capability (a -> b) -> Capability a -> Capability b # liftA2 :: (a -> b -> c) -> Capability a -> Capability b -> Capability c # (*>) :: Capability a -> Capability b -> Capability b # (<*) :: Capability a -> Capability b -> Capability a #
Applicative Vector |
Instance details Defined in Data.Vector Methods pure :: a -> Vector a # (<*>) :: Vector (a -> b) -> Vector a -> Vector b # liftA2 :: (a -> b -> c) -> Vector a -> Vector b -> Vector c # (*>) :: Vector a -> Vector b -> Vector b # (<*) :: Vector a -> Vector b -> Vector a #
Applicative Maybe |
Instance details Defined in GHC.Base Methods pure :: a -> Maybe a # (<*>) :: Maybe (a -> b) -> Maybe a -> Maybe b # liftA2 :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c # (*>) :: Maybe a -> Maybe b -> Maybe b # (<*) :: Maybe a -> Maybe b -> Maybe a #
Applicative Solo |
Instance details Defined in GHC.Base Methods pure :: a -> Solo a # (<*>) :: Solo (a -> b) -> Solo a -> Solo b # liftA2 :: (a -> b -> c) -> Solo a -> Solo b -> Solo c # (*>) :: Solo a -> Solo b -> Solo b # (<*) :: Solo a -> Solo b -> Solo a #
Applicative List |
Instance details Defined in GHC.Base Methods pure :: a -> [a] # (<*>) :: [a -> b] -> [a] -> [b] # liftA2 :: (a -> b -> c) -> [a] -> [b] -> [c] # (*>) :: [a] -> [b] -> [b] # (<*) :: [a] -> [b] -> [a] #
Applicative (Parser i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods pure :: a -> Parser i a # (<*>) :: Parser i (a -> b) -> Parser i a -> Parser i b # liftA2 :: (a -> b -> c) -> Parser i a -> Parser i b -> Parser i c # (*>) :: Parser i a -> Parser i b -> Parser i b # (<*) :: Parser i a -> Parser i b -> Parser i a #
Monad m => Applicative (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods pure :: a -> WrappedMonad m a # (<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b # liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c # (*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # (<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a #
Arrow a => Applicative (ArrowMonad a) |
Instance details Defined in Control.Arrow Methods pure :: a0 -> ArrowMonad a a0 # (<*>) :: ArrowMonad a (a0 -> b) -> ArrowMonad a a0 -> ArrowMonad a b # liftA2 :: (a0 -> b -> c) -> ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a c # (*>) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a b # (<*) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a a0 #
Applicative (Either e) |
Instance details Defined in Data.Either Methods pure :: a -> Either e a # (<*>) :: Either e (a -> b) -> Either e a -> Either e b # liftA2 :: (a -> b -> c) -> Either e a -> Either e b -> Either e c # (*>) :: Either e a -> Either e b -> Either e b # (<*) :: Either e a -> Either e b -> Either e a #
Applicative (StateL s) |
Instance details Defined in Data.Functor.Utils Methods pure :: a -> StateL s a # (<*>) :: StateL s (a -> b) -> StateL s a -> StateL s b # liftA2 :: (a -> b -> c) -> StateL s a -> StateL s b -> StateL s c # (*>) :: StateL s a -> StateL s b -> StateL s b # (<*) :: StateL s a -> StateL s b -> StateL s a #
Applicative (StateR s) |
Instance details Defined in Data.Functor.Utils Methods pure :: a -> StateR s a # (<*>) :: StateR s (a -> b) -> StateR s a -> StateR s b # liftA2 :: (a -> b -> c) -> StateR s a -> StateR s b -> StateR s c # (*>) :: StateR s a -> StateR s b -> StateR s b # (<*) :: StateR s a -> StateR s b -> StateR s a #
Applicative (U1 :: Type -> Type) |
Instance details Defined in GHC.Generics Methods pure :: a -> U1 a # (<*>) :: U1 (a -> b) -> U1 a -> U1 b # liftA2 :: (a -> b -> c) -> U1 a -> U1 b -> U1 c # (*>) :: U1 a -> U1 b -> U1 b # (<*) :: U1 a -> U1 b -> U1 a #
Applicative (ST s) |
Instance details Defined in GHC.ST Methods pure :: a -> ST s a # (<*>) :: ST s (a -> b) -> ST s a -> ST s b # liftA2 :: (a -> b -> c) -> ST s a -> ST s b -> ST s c # (*>) :: ST s a -> ST s b -> ST s b # (<*) :: ST s a -> ST s b -> ST s a #
Monad m => Applicative (ZipSource m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods pure :: a -> ZipSource m a # (<*>) :: ZipSource m (a -> b) -> ZipSource m a -> ZipSource m b # liftA2 :: (a -> b -> c) -> ZipSource m a -> ZipSource m b -> ZipSource m c # (*>) :: ZipSource m a -> ZipSource m b -> ZipSource m b # (<*) :: ZipSource m a -> ZipSource m b -> ZipSource m a #
Applicative (SetM s) |
Instance details Defined in Data.Graph Methods pure :: a -> SetM s a # (<*>) :: SetM s (a -> b) -> SetM s a -> SetM s b # liftA2 :: (a -> b -> c) -> SetM s a -> SetM s b -> SetM s c # (*>) :: SetM s a -> SetM s b -> SetM s b # (<*) :: SetM s a -> SetM s b -> SetM s a #
Functor f => Applicative (Free f) |
Instance details Defined in Control.Monad.Free Methods pure :: a -> Free f a # (<*>) :: Free f (a -> b) -> Free f a -> Free f b # liftA2 :: (a -> b -> c) -> Free f a -> Free f b -> Free f c # (*>) :: Free f a -> Free f b -> Free f b # (<*) :: Free f a -> Free f b -> Free f a #
Applicative m => Applicative (InputT m) |
Instance details Defined in System.Console.Haskeline.InputT Methods pure :: a -> InputT m a # (<*>) :: InputT m (a -> b) -> InputT m a -> InputT m b # liftA2 :: (a -> b -> c) -> InputT m a -> InputT m b -> InputT m c # (*>) :: InputT m a -> InputT m b -> InputT m b # (<*) :: InputT m a -> InputT m b -> InputT m a #
Applicative m => Applicative (HtmlT m) | Based on the monad instance.
Instance details Defined in Lucid.Base Methods pure :: a -> HtmlT m a # (<*>) :: HtmlT m (a -> b) -> HtmlT m a -> HtmlT m b # liftA2 :: (a -> b -> c) -> HtmlT m a -> HtmlT m b -> HtmlT m c # (*>) :: HtmlT m a -> HtmlT m b -> HtmlT m b # (<*) :: HtmlT m a -> HtmlT m b -> HtmlT m a #
Applicative f => Applicative (WrappedPoly f) |
Instance details Defined in Data.MonoTraversable Methods pure :: a -> WrappedPoly f a # (<*>) :: WrappedPoly f (a -> b) -> WrappedPoly f a -> WrappedPoly f b # liftA2 :: (a -> b -> c) -> WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f c # (*>) :: WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f b # (<*) :: WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f a #
Applicative m => Applicative (ResourceT m) |
Instance details Defined in Control.Monad.Trans.Resource.Internal Methods pure :: a -> ResourceT m a # (<*>) :: ResourceT m (a -> b) -> ResourceT m a -> ResourceT m b # liftA2 :: (a -> b -> c) -> ResourceT m a -> ResourceT m b -> ResourceT m c # (*>) :: ResourceT m a -> ResourceT m b -> ResourceT m b # (<*) :: ResourceT m a -> ResourceT m b -> ResourceT m a #
Semigroup a => Applicative (These a) |
Instance details Defined in Data.Strict.These Methods pure :: a0 -> These a a0 # (<*>) :: These a (a0 -> b) -> These a a0 -> These a b # liftA2 :: (a0 -> b -> c) -> These a a0 -> These a b -> These a c # (*>) :: These a a0 -> These a b -> These a b # (<*) :: These a a0 -> These a b -> These a a0 #
Applicative m => Applicative (QuoteToQuasi m) |
Instance details Defined in Language.Haskell.TH.Syntax.Compat Methods pure :: a -> QuoteToQuasi m a # (<*>) :: QuoteToQuasi m (a -> b) -> QuoteToQuasi m a -> QuoteToQuasi m b # liftA2 :: (a -> b -> c) -> QuoteToQuasi m a -> QuoteToQuasi m b -> QuoteToQuasi m c # (*>) :: QuoteToQuasi m a -> QuoteToQuasi m b -> QuoteToQuasi m b # (<*) :: QuoteToQuasi m a -> QuoteToQuasi m b -> QuoteToQuasi m a #
Semigroup a => Applicative (These a) |
Instance details Defined in Data.These Methods pure :: a0 -> These a a0 # (<*>) :: These a (a0 -> b) -> These a a0 -> These a b # liftA2 :: (a0 -> b -> c) -> These a a0 -> These a b -> These a c # (*>) :: These a a0 -> These a b -> These a b # (<*) :: These a a0 -> These a b -> These a a0 #
Applicative f => Applicative (Lift f) |
Instance details Defined in Control.Applicative.Lift Methods pure :: a -> Lift f a # (<*>) :: Lift f (a -> b) -> Lift f a -> Lift f b # liftA2 :: (a -> b -> c) -> Lift f a -> Lift f b -> Lift f c # (*>) :: Lift f a -> Lift f b -> Lift f b # (<*) :: Lift f a -> Lift f b -> Lift f a #
(Functor m, Monad m) => Applicative (MaybeT m) |
Instance details Defined in Control.Monad.Trans.Maybe Methods pure :: a -> MaybeT m a # (<*>) :: MaybeT m (a -> b) -> MaybeT m a -> MaybeT m b # liftA2 :: (a -> b -> c) -> MaybeT m a -> MaybeT m b -> MaybeT m c # (*>) :: MaybeT m a -> MaybeT m b -> MaybeT m b # (<*) :: MaybeT m a -> MaybeT m b -> MaybeT m a #
Functor backend => Applicative (Wizard backend) |
Instance details Defined in System.Console.Wizard.Internal Methods pure :: a -> Wizard backend a # (<*>) :: Wizard backend (a -> b) -> Wizard backend a -> Wizard backend b # liftA2 :: (a -> b -> c) -> Wizard backend a -> Wizard backend b -> Wizard backend c # (*>) :: Wizard backend a -> Wizard backend b -> Wizard backend b # (<*) :: Wizard backend a -> Wizard backend b -> Wizard backend a #
Monoid a => Applicative ((,) a) |
Instance details Defined in GHC.Base Methods pure :: a0 -> (a, a0) # (<*>) :: (a, a0 -> b) -> (a, a0) -> (a, b) # liftA2 :: (a0 -> b -> c) -> (a, a0) -> (a, b) -> (a, c) # (*>) :: (a, a0) -> (a, b) -> (a, b) # (<*) :: (a, a0) -> (a, b) -> (a, a0) #
Arrow a => Applicative (WrappedArrow a b) |
Instance details Defined in Control.Applicative Methods pure :: a0 -> WrappedArrow a b a0 # (<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c # (*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 # (<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 #
Applicative m => Applicative (Kleisli m a) |
Instance details Defined in Control.Arrow Methods pure :: a0 -> Kleisli m a a0 # (<*>) :: Kleisli m a (a0 -> b) -> Kleisli m a a0 -> Kleisli m a b # liftA2 :: (a0 -> b -> c) -> Kleisli m a a0 -> Kleisli m a b -> Kleisli m a c # (*>) :: Kleisli m a a0 -> Kleisli m a b -> Kleisli m a b # (<*) :: Kleisli m a a0 -> Kleisli m a b -> Kleisli m a a0 #
Monoid m => Applicative (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods pure :: a -> Const m a # (<*>) :: Const m (a -> b) -> Const m a -> Const m b # liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c # (*>) :: Const m a -> Const m b -> Const m b # (<*) :: Const m a -> Const m b -> Const m a #
Monad m => Applicative (StateT s m) |
Instance details Defined in Data.Functor.Utils Methods pure :: a -> StateT s m a # (<*>) :: StateT s m (a -> b) -> StateT s m a -> StateT s m b # liftA2 :: (a -> b -> c) -> StateT s m a -> StateT s m b -> StateT s m c # (*>) :: StateT s m a -> StateT s m b -> StateT s m b # (<*) :: StateT s m a -> StateT s m b -> StateT s m a #
Applicative f => Applicative (Alt f) |
Instance details Defined in Data.Semigroup.Internal Methods pure :: a -> Alt f a # (<*>) :: Alt f (a -> b) -> Alt f a -> Alt f b # liftA2 :: (a -> b -> c) -> Alt f a -> Alt f b -> Alt f c # (*>) :: Alt f a -> Alt f b -> Alt f b # (<*) :: Alt f a -> Alt f b -> Alt f a #
(Generic1 f, Applicative (Rep1 f)) => Applicative (Generically1 f) |
Instance details Defined in GHC.Generics Methods pure :: a -> Generically1 f a # (<*>) :: Generically1 f (a -> b) -> Generically1 f a -> Generically1 f b # liftA2 :: (a -> b -> c) -> Generically1 f a -> Generically1 f b -> Generically1 f c # (*>) :: Generically1 f a -> Generically1 f b -> Generically1 f b # (<*) :: Generically1 f a -> Generically1 f b -> Generically1 f a #
Applicative f => Applicative (Rec1 f) |
Instance details Defined in GHC.Generics Methods pure :: a -> Rec1 f a # (<*>) :: Rec1 f (a -> b) -> Rec1 f a -> Rec1 f b # liftA2 :: (a -> b -> c) -> Rec1 f a -> Rec1 f b -> Rec1 f c # (*>) :: Rec1 f a -> Rec1 f b -> Rec1 f b # (<*) :: Rec1 f a -> Rec1 f b -> Rec1 f a #
Monad m => Applicative (ZipSink i m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods pure :: a -> ZipSink i m a # (<*>) :: ZipSink i m (a -> b) -> ZipSink i m a -> ZipSink i m b # liftA2 :: (a -> b -> c) -> ZipSink i m a -> ZipSink i m b -> ZipSink i m c # (*>) :: ZipSink i m a -> ZipSink i m b -> ZipSink i m b # (<*) :: ZipSink i m a -> ZipSink i m b -> ZipSink i m a #
(Applicative f, Monad f) => Applicative (WhenMissing f x) |
Instance details Defined in Data.IntMap.Internal Methods pure :: a -> WhenMissing f x a # (<*>) :: WhenMissing f x (a -> b) -> WhenMissing f x a -> WhenMissing f x b # liftA2 :: (a -> b -> c) -> WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x c # (*>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b # (<*) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x a #
(Functor f, Functor a, Monad a) => Applicative (FreeT f a) |
Instance details Defined in Control.Monad.Free Methods pure :: a0 -> FreeT f a a0 # (<*>) :: FreeT f a (a0 -> b) -> FreeT f a a0 -> FreeT f a b # liftA2 :: (a0 -> b -> c) -> FreeT f a a0 -> FreeT f a b -> FreeT f a c # (*>) :: FreeT f a a0 -> FreeT f a b -> FreeT f a b # (<*) :: FreeT f a a0 -> FreeT f a b -> FreeT f a a0 #
Applicative (Bazaar a b) |
Instance details Defined in Lens.Micro Methods pure :: a0 -> Bazaar a b a0 # (<*>) :: Bazaar a b (a0 -> b0) -> Bazaar a b a0 -> Bazaar a b b0 # liftA2 :: (a0 -> b0 -> c) -> Bazaar a b a0 -> Bazaar a b b0 -> Bazaar a b c # (*>) :: Bazaar a b a0 -> Bazaar a b b0 -> Bazaar a b b0 # (<*) :: Bazaar a b a0 -> Bazaar a b b0 -> Bazaar a b a0 #
(Functor m, Monad m) => Applicative (StateT s m) |
Instance details Defined in Lens.Micro Methods pure :: a -> StateT s m a # (<*>) :: StateT s m (a -> b) -> StateT s m a -> StateT s m b # liftA2 :: (a -> b -> c) -> StateT s m a -> StateT s m b -> StateT s m c # (*>) :: StateT s m a -> StateT s m b -> StateT s m b # (<*) :: StateT s m a -> StateT s m b -> StateT s m a #
Applicative (Tagged s) |
Instance details Defined in Data.Tagged Methods pure :: a -> Tagged s a # (<*>) :: Tagged s (a -> b) -> Tagged s a -> Tagged s b # liftA2 :: (a -> b -> c) -> Tagged s a -> Tagged s b -> Tagged s c # (*>) :: Tagged s a -> Tagged s b -> Tagged s b # (<*) :: Tagged s a -> Tagged s b -> Tagged s a #
Applicative f => Applicative (Backwards f) |
Instance details Defined in Control.Applicative.Backwards Methods pure :: a -> Backwards f a # (<*>) :: Backwards f (a -> b) -> Backwards f a -> Backwards f b # liftA2 :: (a -> b -> c) -> Backwards f a -> Backwards f b -> Backwards f c # (*>) :: Backwards f a -> Backwards f b -> Backwards f b # (<*) :: Backwards f a -> Backwards f b -> Backwards f a #
(Functor m, Monad m) => Applicative (ExceptT e m) |
Instance details Defined in Control.Monad.Trans.Except Methods pure :: a -> ExceptT e m a # (<*>) :: ExceptT e m (a -> b) -> ExceptT e m a -> ExceptT e m b # liftA2 :: (a -> b -> c) -> ExceptT e m a -> ExceptT e m b -> ExceptT e m c # (*>) :: ExceptT e m a -> ExceptT e m b -> ExceptT e m b # (<*) :: ExceptT e m a -> ExceptT e m b -> ExceptT e m a #
Applicative m => Applicative (IdentityT m) |
Instance details Defined in Control.Monad.Trans.Identity Methods pure :: a -> IdentityT m a # (<*>) :: IdentityT m (a -> b) -> IdentityT m a -> IdentityT m b # liftA2 :: (a -> b -> c) -> IdentityT m a -> IdentityT m b -> IdentityT m c # (*>) :: IdentityT m a -> IdentityT m b -> IdentityT m b # (<*) :: IdentityT m a -> IdentityT m b -> IdentityT m a #
Applicative m => Applicative (ReaderT r m) |
Instance details Defined in Control.Monad.Trans.Reader Methods pure :: a -> ReaderT r m a # (<*>) :: ReaderT r m (a -> b) -> ReaderT r m a -> ReaderT r m b # liftA2 :: (a -> b -> c) -> ReaderT r m a -> ReaderT r m b -> ReaderT r m c # (*>) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m b # (<*) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m a #
(Functor m, Monad m) => Applicative (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Lazy Methods pure :: a -> StateT s m a # (<*>) :: StateT s m (a -> b) -> StateT s m a -> StateT s m b # liftA2 :: (a -> b -> c) -> StateT s m a -> StateT s m b -> StateT s m c # (*>) :: StateT s m a -> StateT s m b -> StateT s m b # (<*) :: StateT s m a -> StateT s m b -> StateT s m a #
(Functor m, Monad m) => Applicative (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Strict Methods pure :: a -> StateT s m a # (<*>) :: StateT s m (a -> b) -> StateT s m a -> StateT s m b # liftA2 :: (a -> b -> c) -> StateT s m a -> StateT s m b -> StateT s m c # (*>) :: StateT s m a -> StateT s m b -> StateT s m b # (<*) :: StateT s m a -> StateT s m b -> StateT s m a #
(Monoid w, Applicative m) => Applicative (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods pure :: a -> WriterT w m a # (<*>) :: WriterT w m (a -> b) -> WriterT w m a -> WriterT w m b # liftA2 :: (a -> b -> c) -> WriterT w m a -> WriterT w m b -> WriterT w m c # (*>) :: WriterT w m a -> WriterT w m b -> WriterT w m b # (<*) :: WriterT w m a -> WriterT w m b -> WriterT w m a #
(Monoid w, Applicative m) => Applicative (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods pure :: a -> WriterT w m a # (<*>) :: WriterT w m (a -> b) -> WriterT w m a -> WriterT w m b # liftA2 :: (a -> b -> c) -> WriterT w m a -> WriterT w m b -> WriterT w m c # (*>) :: WriterT w m a -> WriterT w m b -> WriterT w m b # (<*) :: WriterT w m a -> WriterT w m b -> WriterT w m a #
Monoid a => Applicative (Constant a :: Type -> Type) |
Instance details Defined in Data.Functor.Constant Methods pure :: a0 -> Constant a a0 # (<*>) :: Constant a (a0 -> b) -> Constant a a0 -> Constant a b # liftA2 :: (a0 -> b -> c) -> Constant a a0 -> Constant a b -> Constant a c # (*>) :: Constant a a0 -> Constant a b -> Constant a b # (<*) :: Constant a a0 -> Constant a b -> Constant a a0 #
Applicative f => Applicative (Reverse f) |
Instance details Defined in Data.Functor.Reverse Methods pure :: a -> Reverse f a # (<*>) :: Reverse f (a -> b) -> Reverse f a -> Reverse f b # liftA2 :: (a -> b -> c) -> Reverse f a -> Reverse f b -> Reverse f c # (*>) :: Reverse f a -> Reverse f b -> Reverse f b # (<*) :: Reverse f a -> Reverse f b -> Reverse f a #
(Monoid a, Monoid b) => Applicative ((,,) a b) |
Instance details Defined in GHC.Base Methods pure :: a0 -> (a, b, a0) # (<*>) :: (a, b, a0 -> b0) -> (a, b, a0) -> (a, b, b0) # liftA2 :: (a0 -> b0 -> c) -> (a, b, a0) -> (a, b, b0) -> (a, b, c) # (*>) :: (a, b, a0) -> (a, b, b0) -> (a, b, b0) # (<*) :: (a, b, a0) -> (a, b, b0) -> (a, b, a0) #
(Applicative f, Applicative g) => Applicative (f :*: g) |
Instance details Defined in GHC.Generics Methods pure :: a -> (f :*: g) a # (<*>) :: (f :*: g) (a -> b) -> (f :*: g) a -> (f :*: g) b # liftA2 :: (a -> b -> c) -> (f :*: g) a -> (f :*: g) b -> (f :*: g) c # (*>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b # (<*) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) a #
Monoid c => Applicative (K1 i c :: Type -> Type) |
Instance details Defined in GHC.Generics Methods pure :: a -> K1 i c a # (<*>) :: K1 i c (a -> b) -> K1 i c a -> K1 i c b # liftA2 :: (a -> b -> c0) -> K1 i c a -> K1 i c b -> K1 i c c0 # (*>) :: K1 i c a -> K1 i c b -> K1 i c b # (<*) :: K1 i c a -> K1 i c b -> K1 i c a #
Applicative (ConduitT i o m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods pure :: a -> ConduitT i o m a # (<*>) :: ConduitT i o m (a -> b) -> ConduitT i o m a -> ConduitT i o m b # liftA2 :: (a -> b -> c) -> ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m c # (*>) :: ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m b # (<*) :: ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m a #
Monad m => Applicative (ZipConduit i o m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods pure :: a -> ZipConduit i o m a # (<*>) :: ZipConduit i o m (a -> b) -> ZipConduit i o m a -> ZipConduit i o m b # liftA2 :: (a -> b -> c) -> ZipConduit i o m a -> ZipConduit i o m b -> ZipConduit i o m c # (*>) :: ZipConduit i o m a -> ZipConduit i o m b -> ZipConduit i o m b # (<*) :: ZipConduit i o m a -> ZipConduit i o m b -> ZipConduit i o m a #
(Monad f, Applicative f) => Applicative (WhenMatched f x y) |
Instance details Defined in Data.IntMap.Internal Methods pure :: a -> WhenMatched f x y a # (<*>) :: WhenMatched f x y (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b # liftA2 :: (a -> b -> c) -> WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y c # (*>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b # (<*) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y a #
(Applicative f, Monad f) => Applicative (WhenMissing f k x) |
Instance details Defined in Data.Map.Internal Methods pure :: a -> WhenMissing f k x a # (<*>) :: WhenMissing f k x (a -> b) -> WhenMissing f k x a -> WhenMissing f k x b # liftA2 :: (a -> b -> c) -> WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x c # (*>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b # (<*) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x a #
Stream s => Applicative (ParsecT e s m) | `pure` returns a parser that succeeds without consuming input.
Instance details Defined in Text.Megaparsec.Internal Methods pure :: a -> ParsecT e s m a # (<*>) :: ParsecT e s m (a -> b) -> ParsecT e s m a -> ParsecT e s m b # liftA2 :: (a -> b -> c) -> ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m c # (*>) :: ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m b # (<*) :: ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m a #
Applicative (ContT r m) |
Instance details Defined in Control.Monad.Trans.Cont Methods pure :: a -> ContT r m a # (<*>) :: ContT r m (a -> b) -> ContT r m a -> ContT r m b # liftA2 :: (a -> b -> c) -> ContT r m a -> ContT r m b -> ContT r m c # (*>) :: ContT r m a -> ContT r m b -> ContT r m b # (<*) :: ContT r m a -> ContT r m b -> ContT r m a #
(Monoid a, Monoid b, Monoid c) => Applicative ((,,,) a b c) |
Instance details Defined in GHC.Base Methods pure :: a0 -> (a, b, c, a0) # (<*>) :: (a, b, c, a0 -> b0) -> (a, b, c, a0) -> (a, b, c, b0) # liftA2 :: (a0 -> b0 -> c0) -> (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, c0) # (*>) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, b0) # (<*) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, a0) #
Applicative ((->) r) |
Instance details Defined in GHC.Base Methods pure :: a -> r -> a # (<*>) :: (r -> (a -> b)) -> (r -> a) -> r -> b # liftA2 :: (a -> b -> c) -> (r -> a) -> (r -> b) -> r -> c # (*>) :: (r -> a) -> (r -> b) -> r -> b # (<*) :: (r -> a) -> (r -> b) -> r -> a #
(Applicative f, Applicative g) => Applicative (Compose f g) |
Instance details Defined in Data.Functor.Compose Methods pure :: a -> Compose f g a # (<*>) :: Compose f g (a -> b) -> Compose f g a -> Compose f g b # liftA2 :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c # (*>) :: Compose f g a -> Compose f g b -> Compose f g b # (<*) :: Compose f g a -> Compose f g b -> Compose f g a #
(Applicative f, Applicative g) => Applicative (f :.: g) |
Instance details Defined in GHC.Generics Methods pure :: a -> (f :.: g) a # (<*>) :: (f :.: g) (a -> b) -> (f :.: g) a -> (f :.: g) b # liftA2 :: (a -> b -> c) -> (f :.: g) a -> (f :.: g) b -> (f :.: g) c # (*>) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) b # (<*) :: (f :.: g) a -> (f :.: g) b -> (f :.: g) a #
Applicative f => Applicative (M1 i c f) |
Instance details Defined in GHC.Generics Methods pure :: a -> M1 i c f a # (<*>) :: M1 i c f (a -> b) -> M1 i c f a -> M1 i c f b # liftA2 :: (a -> b -> c0) -> M1 i c f a -> M1 i c f b -> M1 i c f c0 # (*>) :: M1 i c f a -> M1 i c f b -> M1 i c f b # (<*) :: M1 i c f a -> M1 i c f b -> M1 i c f a #
(Monad f, Applicative f) => Applicative (WhenMatched f k x y) |
Instance details Defined in Data.Map.Internal Methods pure :: a -> WhenMatched f k x y a # (<*>) :: WhenMatched f k x y (a -> b) -> WhenMatched f k x y a -> WhenMatched f k x y b # liftA2 :: (a -> b -> c) -> WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y c # (*>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b # (<*) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y a #
(Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy Methods pure :: a -> RWST r w s m a # (<*>) :: RWST r w s m (a -> b) -> RWST r w s m a -> RWST r w s m b # liftA2 :: (a -> b -> c) -> RWST r w s m a -> RWST r w s m b -> RWST r w s m c # (*>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b # (<*) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m a #
(Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Strict Methods pure :: a -> RWST r w s m a # (<*>) :: RWST r w s m (a -> b) -> RWST r w s m a -> RWST r w s m b # liftA2 :: (a -> b -> c) -> RWST r w s m a -> RWST r w s m b -> RWST r w s m c # (*>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b # (<*) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m a #
Monad m => Applicative (Pipe l i o u m) |
Instance details Defined in Data.Conduit.Internal.Pipe Methods pure :: a -> Pipe l i o u m a # (<*>) :: Pipe l i o u m (a -> b) -> Pipe l i o u m a -> Pipe l i o u m b # liftA2 :: (a -> b -> c) -> Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m c # (*>) :: Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m b # (<*) :: Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m a #

class Functor (f :: Type -> Type) where #

Minimal complete definition

fmap

Methods

fmap :: (a -> b) -> f a -> f b #

(<$) :: a -> f b -> f a #

#### Instances

Instances details

Functor Only |
Instance details Defined in Data.Tuple.Only Methods fmap :: (a -> b) -> Only a -> Only b # (<$) :: a -> Only b -> Only a #
Functor KeyMap |
Instance details Defined in Data.Aeson.KeyMap Methods fmap :: (a -> b) -> KeyMap a -> KeyMap b # (<$) :: a -> KeyMap b -> KeyMap a #
Functor FromJSONKeyFunction | Only law abiding up to interpretation
Instance details Defined in Data.Aeson.Types.FromJSON Methods fmap :: (a -> b) -> FromJSONKeyFunction a -> FromJSONKeyFunction b # (<$) :: a -> FromJSONKeyFunction b -> FromJSONKeyFunction a #
Functor IResult |
Instance details Defined in Data.Aeson.Types.Internal Methods fmap :: (a -> b) -> IResult a -> IResult b # (<$) :: a -> IResult b -> IResult a #
Functor Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods fmap :: (a -> b) -> Parser a -> Parser b # (<$) :: a -> Parser b -> Parser a #
Functor Result |
Instance details Defined in Data.Aeson.Types.Internal Methods fmap :: (a -> b) -> Result a -> Result b # (<$) :: a -> Result b -> Result a #
Functor ZipList |
Instance details Defined in Control.Applicative Methods fmap :: (a -> b) -> ZipList a -> ZipList b # (<$) :: a -> ZipList b -> ZipList a #
Functor Handler |
Instance details Defined in Control.Exception Methods fmap :: (a -> b) -> Handler a -> Handler b # (<$) :: a -> Handler b -> Handler a #
Functor Identity |
Instance details Defined in Data.Functor.Identity Methods fmap :: (a -> b) -> Identity a -> Identity b # (<$) :: a -> Identity b -> Identity a #
Functor Down |
Instance details Defined in Data.Ord Methods fmap :: (a -> b) -> Down a -> Down b # (<$) :: a -> Down b -> Down a #
Functor Dual |
Instance details Defined in Data.Semigroup.Internal Methods fmap :: (a -> b) -> Dual a -> Dual b # (<$) :: a -> Dual b -> Dual a #
Functor Product |
Instance details Defined in Data.Semigroup.Internal Methods fmap :: (a -> b) -> Product a -> Product b # (<$) :: a -> Product b -> Product a #
Functor Sum |
Instance details Defined in Data.Semigroup.Internal Methods fmap :: (a -> b) -> Sum a -> Sum b # (<$) :: a -> Sum b -> Sum a #
Functor NonEmpty |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> NonEmpty a -> NonEmpty b # (<$) :: a -> NonEmpty b -> NonEmpty a #
Functor STM |
Instance details Defined in GHC.Conc.Sync Methods fmap :: (a -> b) -> STM a -> STM b # (<$) :: a -> STM b -> STM a #
Functor Par1 |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> Par1 a -> Par1 b # (<$) :: a -> Par1 b -> Par1 a #
Functor P |
Instance details Defined in Text.ParserCombinators.ReadP Methods fmap :: (a -> b) -> P a -> P b # (<$) :: a -> P b -> P a #
Functor ReadP |
Instance details Defined in Text.ParserCombinators.ReadP Methods fmap :: (a -> b) -> ReadP a -> ReadP b # (<$) :: a -> ReadP b -> ReadP a #
Functor ReadPrec |
Instance details Defined in Text.ParserCombinators.ReadPrec Methods fmap :: (a -> b) -> ReadPrec a -> ReadPrec b # (<$) :: a -> ReadPrec b -> ReadPrec a #
Functor Put |
Instance details Defined in Data.ByteString.Builder.Internal Methods fmap :: (a -> b) -> Put a -> Put b # (<$) :: a -> Put b -> Put a #
Functor Capture |
Instance details Defined in System.Console.CmdArgs.Annotate Methods fmap :: (a -> b) -> Capture a -> Capture b # (<$) :: a -> Capture b -> Capture a #
Functor Group |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods fmap :: (a -> b) -> Group a -> Group b # (<$) :: a -> Group b -> Group a #
Functor CmdArgs |
Instance details Defined in System.Console.CmdArgs.Implicit.Type Methods fmap :: (a -> b) -> CmdArgs a -> CmdArgs b # (<$) :: a -> CmdArgs b -> CmdArgs a #
Functor RGB |
Instance details Defined in Data.Colour.RGB Methods fmap :: (a -> b) -> RGB a -> RGB b # (<$) :: a -> RGB b -> RGB a #
Functor Flush |
Instance details Defined in Data.Conduit.Internal.Conduit Methods fmap :: (a -> b) -> Flush a -> Flush b # (<$) :: a -> Flush b -> Flush a #
Functor SCC |
Instance details Defined in Data.Graph Methods fmap :: (a -> b) -> SCC a -> SCC b # (<$) :: a -> SCC b -> SCC a #
Functor IntMap |
Instance details Defined in Data.IntMap.Internal Methods fmap :: (a -> b) -> IntMap a -> IntMap b # (<$) :: a -> IntMap b -> IntMap a #
Functor Digit |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> Digit a -> Digit b # (<$) :: a -> Digit b -> Digit a #
Functor Elem |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> Elem a -> Elem b # (<$) :: a -> Elem b -> Elem a #
Functor FingerTree |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> FingerTree a -> FingerTree b # (<$) :: a -> FingerTree b -> FingerTree a #
Functor Node |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> Node a -> Node b # (<$) :: a -> Node b -> Node a #
Functor Seq |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> Seq a -> Seq b # (<$) :: a -> Seq b -> Seq a #
Functor ViewL |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> ViewL a -> ViewL b # (<$) :: a -> ViewL b -> ViewL a #
Functor ViewR |
Instance details Defined in Data.Sequence.Internal Methods fmap :: (a -> b) -> ViewR a -> ViewR b # (<$) :: a -> ViewR b -> ViewR a #
Functor Tree |
Instance details Defined in Data.Tree Methods fmap :: (a -> b) -> Tree a -> Tree b # (<$) :: a -> Tree b -> Tree a #
Functor DNonEmpty |
Instance details Defined in Data.DList.DNonEmpty.Internal Methods fmap :: (a -> b) -> DNonEmpty a -> DNonEmpty b # (<$) :: a -> DNonEmpty b -> DNonEmpty a #
Functor DList |
Instance details Defined in Data.DList.Internal Methods fmap :: (a -> b) -> DList a -> DList b # (<$) :: a -> DList b -> DList a #
Functor Doc |
Instance details Defined in Text.DocLayout Methods fmap :: (a -> b) -> Doc a -> Doc b # (<$) :: a -> Doc b -> Doc a #
Functor IO |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> IO a -> IO b # (<$) :: a -> IO b -> IO a #
Functor Root |
Instance details Defined in Numeric.RootFinding Methods fmap :: (a -> b) -> Root a -> Root b # (<$) :: a -> Root b -> Root a #
Functor ErrorFancy |
Instance details Defined in Text.Megaparsec.Error Methods fmap :: (a -> b) -> ErrorFancy a -> ErrorFancy b # (<$) :: a -> ErrorFancy b -> ErrorFancy a #
Functor ErrorItem |
Instance details Defined in Text.Megaparsec.Error Methods fmap :: (a -> b) -> ErrorItem a -> ErrorItem b # (<$) :: a -> ErrorItem b -> ErrorItem a #
Functor AnnotDetails |
Instance details Defined in Text.PrettyPrint.Annotated.HughesPJ Methods fmap :: (a -> b) -> AnnotDetails a -> AnnotDetails b # (<$) :: a -> AnnotDetails b -> AnnotDetails a #
Functor Doc |
Instance details Defined in Text.PrettyPrint.Annotated.HughesPJ Methods fmap :: (a -> b) -> Doc a -> Doc b # (<$) :: a -> Doc b -> Doc a #
Functor Span |
Instance details Defined in Text.PrettyPrint.Annotated.HughesPJ Methods fmap :: (a -> b) -> Span a -> Span b # (<$) :: a -> Span b -> Span a #
Functor Doc | Alter the document’s annotations. This instance makes `Doc` more flexible (because it can be used in `Functor`-polymorphic values), but ``fmap`` is much less readable compared to using ``reAnnotate`` in code that only works for ``Doc`` anyway. Consider using the latter when the type does not matter.
Instance details Defined in Prettyprinter.Internal Methods fmap :: (a -> b) -> Doc a -> Doc b # (<$) :: a -> Doc b -> Doc a #
Functor FlattenResult |
Instance details Defined in Prettyprinter.Internal Methods fmap :: (a -> b) -> FlattenResult a -> FlattenResult b # (<$) :: a -> FlattenResult b -> FlattenResult a #
Functor SimpleDocStream | Alter the document’s annotations. This instance makes `SimpleDocStream` more flexible (because it can be used in `Functor`-polymorphic values), but ``fmap`` is much less readable compared to using ``reAnnotateST`` in code that only works for ``SimpleDocStream`` anyway. Consider using the latter when the type does not matter.
Instance details Defined in Prettyprinter.Internal Methods fmap :: (a -> b) -> SimpleDocStream a -> SimpleDocStream b # (<$) :: a -> SimpleDocStream b -> SimpleDocStream a #
Functor Array |
Instance details Defined in Data.Primitive.Array Methods fmap :: (a -> b) -> Array a -> Array b # (<$) :: a -> Array b -> Array a #
Functor SmallArray |
Instance details Defined in Data.Primitive.SmallArray Methods fmap :: (a -> b) -> SmallArray a -> SmallArray b # (<$) :: a -> SmallArray b -> SmallArray a #
Functor Maybe |
Instance details Defined in Data.Strict.Maybe Methods fmap :: (a -> b) -> Maybe a -> Maybe b # (<$) :: a -> Maybe b -> Maybe a #
Functor Header |
Instance details Defined in Text.Tabular Methods fmap :: (a -> b) -> Header a -> Header b # (<$) :: a -> Header b -> Header a #
Functor Q |
Instance details Defined in Language.Haskell.TH.Syntax Methods fmap :: (a -> b) -> Q a -> Q b # (<$) :: a -> Q b -> Q a #
Functor TyVarBndr |
Instance details Defined in Language.Haskell.TH.Syntax Methods fmap :: (a -> b) -> TyVarBndr a -> TyVarBndr b # (<$) :: a -> TyVarBndr b -> TyVarBndr a #
Functor Window |
Instance details Defined in System.Console.Terminal.Common Methods fmap :: (a -> b) -> Window a -> Window b # (<$) :: a -> Window b -> Window a #
Functor Capability |
Instance details Defined in System.Console.Terminfo.Base Methods fmap :: (a -> b) -> Capability a -> Capability b # (<$) :: a -> Capability b -> Capability a #
Functor Vector |
Instance details Defined in Data.Vector Methods fmap :: (a -> b) -> Vector a -> Vector b # (<$) :: a -> Vector b -> Vector a #
Functor Haskeline |
Instance details Defined in System.Console.Wizard.Haskeline Methods fmap :: (a -> b) -> Haskeline a -> Haskeline b # (<$) :: a -> Haskeline b -> Haskeline a #
Functor WithSettings |
Instance details Defined in System.Console.Wizard.Haskeline Methods fmap :: (a -> b) -> WithSettings a -> WithSettings b # (<$) :: a -> WithSettings b -> WithSettings a #
Functor ArbitraryIO |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> ArbitraryIO a -> ArbitraryIO b # (<$) :: a -> ArbitraryIO b -> ArbitraryIO a #
Functor Character |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> Character a -> Character b # (<$) :: a -> Character b -> Character a #
Functor Line |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> Line a -> Line b # (<$) :: a -> Line b -> Line a #
Functor LinePrewritten |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> LinePrewritten a -> LinePrewritten b # (<$) :: a -> LinePrewritten b -> LinePrewritten a #
Functor Output |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> Output a -> Output b # (<$) :: a -> Output b -> Output a #
Functor OutputLn |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> OutputLn a -> OutputLn b # (<$) :: a -> OutputLn b -> OutputLn a #
Functor Password |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> Password a -> Password b # (<$) :: a -> Password b -> Password a #
Functor Maybe |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> Maybe a -> Maybe b # (<$) :: a -> Maybe b -> Maybe a #
Functor Solo |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> Solo a -> Solo b # (<$) :: a -> Solo b -> Solo a #
Functor List |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> [a] -> [b] # (<$) :: a -> [b] -> [a] #
Functor (PolyDiff a) |
Instance details Defined in Data.Algorithm.Diff Methods fmap :: (a0 -> b) -> PolyDiff a a0 -> PolyDiff a b # (<$) :: a0 -> PolyDiff a b -> PolyDiff a a0 #
Functor (IResult i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods fmap :: (a -> b) -> IResult i a -> IResult i b # (<$) :: a -> IResult i b -> IResult i a #
Functor (Parser i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods fmap :: (a -> b) -> Parser i a -> Parser i b # (<$) :: a -> Parser i b -> Parser i a #
Monad m => Functor (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods fmap :: (a -> b) -> WrappedMonad m a -> WrappedMonad m b # (<$) :: a -> WrappedMonad m b -> WrappedMonad m a #
Arrow a => Functor (ArrowMonad a) |
Instance details Defined in Control.Arrow Methods fmap :: (a0 -> b) -> ArrowMonad a a0 -> ArrowMonad a b # (<$) :: a0 -> ArrowMonad a b -> ArrowMonad a a0 #
Functor (Either a) |
Instance details Defined in Data.Either Methods fmap :: (a0 -> b) -> Either a a0 -> Either a b # (<$) :: a0 -> Either a b -> Either a a0 #
Functor (StateL s) |
Instance details Defined in Data.Functor.Utils Methods fmap :: (a -> b) -> StateL s a -> StateL s b # (<$) :: a -> StateL s b -> StateL s a #
Functor (StateR s) |
Instance details Defined in Data.Functor.Utils Methods fmap :: (a -> b) -> StateR s a -> StateR s b # (<$) :: a -> StateR s b -> StateR s a #
Functor (U1 :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> U1 a -> U1 b # (<$) :: a -> U1 b -> U1 a #
Functor (V1 :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> V1 a -> V1 b # (<$) :: a -> V1 b -> V1 a #
Functor (ST s) |
Instance details Defined in GHC.ST Methods fmap :: (a -> b) -> ST s a -> ST s b # (<$) :: a -> ST s b -> ST s a #
Monad m => Functor (ZipSource m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods fmap :: (a -> b) -> ZipSource m a -> ZipSource m b # (<$) :: a -> ZipSource m b -> ZipSource m a #
Functor (SetM s) |
Instance details Defined in Data.Graph Methods fmap :: (a -> b) -> SetM s a -> SetM s b # (<$) :: a -> SetM s b -> SetM s a #
Functor (Map k) |
Instance details Defined in Data.Map.Internal Methods fmap :: (a -> b) -> Map k a -> Map k b # (<$) :: a -> Map k b -> Map k a #
Functor f => Functor (Free f) |
Instance details Defined in Control.Monad.Free Methods fmap :: (a -> b) -> Free f a -> Free f b # (<$) :: a -> Free f b -> Free f a #
Monad m => Functor (Handler m) |
Instance details Defined in Control.Monad.Catch Methods fmap :: (a -> b) -> Handler m a -> Handler m b # (<$) :: a -> Handler m b -> Handler m a #
Functor m => Functor (InputT m) |
Instance details Defined in System.Console.Haskeline.InputT Methods fmap :: (a -> b) -> InputT m a -> InputT m b # (<$) :: a -> InputT m b -> InputT m a #
Functor (CompoundPeriodicReport a) |
Instance details Defined in Hledger.Reports.ReportTypes Methods fmap :: (a0 -> b) -> CompoundPeriodicReport a a0 -> CompoundPeriodicReport a b # (<$) :: a0 -> CompoundPeriodicReport a b -> CompoundPeriodicReport a a0 #
Functor (PeriodicReport a) |
Instance details Defined in Hledger.Reports.ReportTypes Methods fmap :: (a0 -> b) -> PeriodicReport a a0 -> PeriodicReport a b # (<$) :: a0 -> PeriodicReport a b -> PeriodicReport a a0 #
Functor (PeriodicReportRow a) |
Instance details Defined in Hledger.Reports.ReportTypes Methods fmap :: (a0 -> b) -> PeriodicReportRow a a0 -> PeriodicReportRow a b # (<$) :: a0 -> PeriodicReportRow a b -> PeriodicReportRow a a0 #
Functor m => Functor (HtmlT m) | Just re-uses Monad.
Instance details Defined in Lucid.Base Methods fmap :: (a -> b) -> HtmlT m a -> HtmlT m b # (<$) :: a -> HtmlT m b -> HtmlT m a #
Functor f => Functor (WrappedPoly f) |
Instance details Defined in Data.MonoTraversable Methods fmap :: (a -> b) -> WrappedPoly f a -> WrappedPoly f b # (<$) :: a -> WrappedPoly f b -> WrappedPoly f a #
Functor m => Functor (ResourceT m) |
Instance details Defined in Control.Monad.Trans.Resource.Internal Methods fmap :: (a -> b) -> ResourceT m a -> ResourceT m b # (<$) :: a -> ResourceT m b -> ResourceT m a #
Functor (Either a) |
Instance details Defined in Data.Strict.Either Methods fmap :: (a0 -> b) -> Either a a0 -> Either a b # (<$) :: a0 -> Either a b -> Either a a0 #
Functor (These a) |
Instance details Defined in Data.Strict.These Methods fmap :: (a0 -> b) -> These a a0 -> These a b # (<$) :: a0 -> These a b -> These a a0 #
Functor (Pair e) |
Instance details Defined in Data.Strict.Tuple Methods fmap :: (a -> b) -> Pair e a -> Pair e b # (<$) :: a -> Pair e b -> Pair e a #
Functor m => Functor (QuoteToQuasi m) |
Instance details Defined in Language.Haskell.TH.Syntax.Compat Methods fmap :: (a -> b) -> QuoteToQuasi m a -> QuoteToQuasi m b # (<$) :: a -> QuoteToQuasi m b -> QuoteToQuasi m a #
Functor (These a) |
Instance details Defined in Data.These Methods fmap :: (a0 -> b) -> These a a0 -> These a b # (<$) :: a0 -> These a b -> These a a0 #
Functor f => Functor (Lift f) |
Instance details Defined in Control.Applicative.Lift Methods fmap :: (a -> b) -> Lift f a -> Lift f b # (<$) :: a -> Lift f b -> Lift f a #
Functor m => Functor (MaybeT m) |
Instance details Defined in Control.Monad.Trans.Maybe Methods fmap :: (a -> b) -> MaybeT m a -> MaybeT m b # (<$) :: a -> MaybeT m b -> MaybeT m a #
Functor (HashMap k) |
Instance details Defined in Data.HashMap.Internal Methods fmap :: (a -> b) -> HashMap k a -> HashMap k b # (<$) :: a -> HashMap k b -> HashMap k a #
Functor backend => Functor (Wizard backend) |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> Wizard backend a -> Wizard backend b # (<$) :: a -> Wizard backend b -> Wizard backend a #
Functor ((,) a) |
Instance details Defined in GHC.Base Methods fmap :: (a0 -> b) -> (a, a0) -> (a, b) # (<$) :: a0 -> (a, b) -> (a, a0) #
Arrow a => Functor (WrappedArrow a b) |
Instance details Defined in Control.Applicative Methods fmap :: (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # (<$) :: a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 #
Functor m => Functor (Kleisli m a) |
Instance details Defined in Control.Arrow Methods fmap :: (a0 -> b) -> Kleisli m a a0 -> Kleisli m a b # (<$) :: a0 -> Kleisli m a b -> Kleisli m a a0 #
Functor (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods fmap :: (a -> b) -> Const m a -> Const m b # (<$) :: a -> Const m b -> Const m a #
Monad m => Functor (StateT s m) |
Instance details Defined in Data.Functor.Utils Methods fmap :: (a -> b) -> StateT s m a -> StateT s m b # (<$) :: a -> StateT s m b -> StateT s m a #
Functor f => Functor (Alt f) |
Instance details Defined in Data.Semigroup.Internal Methods fmap :: (a -> b) -> Alt f a -> Alt f b # (<$) :: a -> Alt f b -> Alt f a #
(Generic1 f, Functor (Rep1 f)) => Functor (Generically1 f) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> Generically1 f a -> Generically1 f b # (<$) :: a -> Generically1 f b -> Generically1 f a #
Functor f => Functor (Rec1 f) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> Rec1 f a -> Rec1 f b # (<$) :: a -> Rec1 f b -> Rec1 f a #
Functor (URec (Ptr ()) :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec (Ptr ()) a -> URec (Ptr ()) b # (<$) :: a -> URec (Ptr ()) b -> URec (Ptr ()) a #
Functor (URec Char :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Char a -> URec Char b # (<$) :: a -> URec Char b -> URec Char a #
Functor (URec Double :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Double a -> URec Double b # (<$) :: a -> URec Double b -> URec Double a #
Functor (URec Float :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Float a -> URec Float b # (<$) :: a -> URec Float b -> URec Float a #
Functor (URec Int :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Int a -> URec Int b # (<$) :: a -> URec Int b -> URec Int a #
Functor (URec Word :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> URec Word a -> URec Word b # (<$) :: a -> URec Word b -> URec Word a #
Monad m => Functor (ZipSink i m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods fmap :: (a -> b) -> ZipSink i m a -> ZipSink i m b # (<$) :: a -> ZipSink i m b -> ZipSink i m a #
(Applicative f, Monad f) => Functor (WhenMissing f x) |
Instance details Defined in Data.IntMap.Internal Methods fmap :: (a -> b) -> WhenMissing f x a -> WhenMissing f x b # (<$) :: a -> WhenMissing f x b -> WhenMissing f x a #
(Functor f, Functor m) => Functor (FreeT f m) |
Instance details Defined in Control.Monad.Free Methods fmap :: (a -> b) -> FreeT f m a -> FreeT f m b # (<$) :: a -> FreeT f m b -> FreeT f m a #
Functor (Reply e s) |
Instance details Defined in Text.Megaparsec.Internal Methods fmap :: (a -> b) -> Reply e s a -> Reply e s b # (<$) :: a -> Reply e s b -> Reply e s a #
Functor (Result s e) |
Instance details Defined in Text.Megaparsec.Internal Methods fmap :: (a -> b) -> Result s e a -> Result s e b # (<$) :: a -> Result s e b -> Result s e a #
Functor (Bazaar a b) |
Instance details Defined in Lens.Micro Methods fmap :: (a0 -> b0) -> Bazaar a b a0 -> Bazaar a b b0 # (<$) :: a0 -> Bazaar a b b0 -> Bazaar a b a0 #
Functor m => Functor (StateT s m) |
Instance details Defined in Lens.Micro Methods fmap :: (a -> b) -> StateT s m a -> StateT s m b # (<$) :: a -> StateT s m b -> StateT s m a #
Functor (Tagged s) |
Instance details Defined in Data.Tagged Methods fmap :: (a -> b) -> Tagged s a -> Tagged s b # (<$) :: a -> Tagged s b -> Tagged s a #
(Functor f, Functor g) => Functor (These1 f g) |
Instance details Defined in Data.Functor.These Methods fmap :: (a -> b) -> These1 f g a -> These1 f g b # (<$) :: a -> These1 f g b -> These1 f g a #
Functor f => Functor (Backwards f) |
Instance details Defined in Control.Applicative.Backwards Methods fmap :: (a -> b) -> Backwards f a -> Backwards f b # (<$) :: a -> Backwards f b -> Backwards f a #
Functor m => Functor (ExceptT e m) |
Instance details Defined in Control.Monad.Trans.Except Methods fmap :: (a -> b) -> ExceptT e m a -> ExceptT e m b # (<$) :: a -> ExceptT e m b -> ExceptT e m a #
Functor m => Functor (IdentityT m) |
Instance details Defined in Control.Monad.Trans.Identity Methods fmap :: (a -> b) -> IdentityT m a -> IdentityT m b # (<$) :: a -> IdentityT m b -> IdentityT m a #
Functor m => Functor (ReaderT r m) |
Instance details Defined in Control.Monad.Trans.Reader Methods fmap :: (a -> b) -> ReaderT r m a -> ReaderT r m b # (<$) :: a -> ReaderT r m b -> ReaderT r m a #
Functor m => Functor (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Lazy Methods fmap :: (a -> b) -> StateT s m a -> StateT s m b # (<$) :: a -> StateT s m b -> StateT s m a #
Functor m => Functor (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Strict Methods fmap :: (a -> b) -> StateT s m a -> StateT s m b # (<$) :: a -> StateT s m b -> StateT s m a #
Functor m => Functor (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods fmap :: (a -> b) -> WriterT w m a -> WriterT w m b # (<$) :: a -> WriterT w m b -> WriterT w m a #
Functor m => Functor (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods fmap :: (a -> b) -> WriterT w m a -> WriterT w m b # (<$) :: a -> WriterT w m b -> WriterT w m a #
Functor (Constant a :: Type -> Type) |
Instance details Defined in Data.Functor.Constant Methods fmap :: (a0 -> b) -> Constant a a0 -> Constant a b # (<$) :: a0 -> Constant a b -> Constant a a0 #
Functor f => Functor (Reverse f) |
Instance details Defined in Data.Functor.Reverse Methods fmap :: (a -> b) -> Reverse f a -> Reverse f b # (<$) :: a -> Reverse f b -> Reverse f a #
(Functor f, Functor g) => Functor (f :+: g) |
Instance details Defined in System.Console.Wizard.Internal Methods fmap :: (a -> b) -> (f :+: g) a -> (f :+: g) b # (<$) :: a -> (f :+: g) b -> (f :+: g) a #
Functor ((,,) a b) |
Instance details Defined in GHC.Base Methods fmap :: (a0 -> b0) -> (a, b, a0) -> (a, b, b0) # (<$) :: a0 -> (a, b, b0) -> (a, b, a0) #
(Functor f, Functor g) => Functor (f :*: g) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> (f :*: g) a -> (f :*: g) b # (<$) :: a -> (f :*: g) b -> (f :*: g) a #
(Functor f, Functor g) => Functor (f :+: g) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> (f :+: g) a -> (f :+: g) b # (<$) :: a -> (f :+: g) b -> (f :+: g) a #
Functor (K1 i c :: Type -> Type) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> K1 i c a -> K1 i c b # (<$) :: a -> K1 i c b -> K1 i c a #
Functor (ConduitT i o m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods fmap :: (a -> b) -> ConduitT i o m a -> ConduitT i o m b # (<$) :: a -> ConduitT i o m b -> ConduitT i o m a #
Functor (ZipConduit i o m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods fmap :: (a -> b) -> ZipConduit i o m a -> ZipConduit i o m b # (<$) :: a -> ZipConduit i o m b -> ZipConduit i o m a #
Functor f => Functor (WhenMatched f x y) |
Instance details Defined in Data.IntMap.Internal Methods fmap :: (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b # (<$) :: a -> WhenMatched f x y b -> WhenMatched f x y a #
(Applicative f, Monad f) => Functor (WhenMissing f k x) |
Instance details Defined in Data.Map.Internal Methods fmap :: (a -> b) -> WhenMissing f k x a -> WhenMissing f k x b # (<$) :: a -> WhenMissing f k x b -> WhenMissing f k x a #
Functor (ParsecT e s m) |
Instance details Defined in Text.Megaparsec.Internal Methods fmap :: (a -> b) -> ParsecT e s m a -> ParsecT e s m b # (<$) :: a -> ParsecT e s m b -> ParsecT e s m a #
Functor (ContT r m) |
Instance details Defined in Control.Monad.Trans.Cont Methods fmap :: (a -> b) -> ContT r m a -> ContT r m b # (<$) :: a -> ContT r m b -> ContT r m a #
Functor ((,,,) a b c) |
Instance details Defined in GHC.Base Methods fmap :: (a0 -> b0) -> (a, b, c, a0) -> (a, b, c, b0) # (<$) :: a0 -> (a, b, c, b0) -> (a, b, c, a0) #
Functor ((->) r) |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> (r -> a) -> r -> b # (<$) :: a -> (r -> b) -> r -> a #
(Functor f, Functor g) => Functor (Compose f g) |
Instance details Defined in Data.Functor.Compose Methods fmap :: (a -> b) -> Compose f g a -> Compose f g b # (<$) :: a -> Compose f g b -> Compose f g a #
(Functor f, Functor g) => Functor (f :.: g) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> (f :.: g) a -> (f :.: g) b # (<$) :: a -> (f :.: g) b -> (f :.: g) a #
Functor f => Functor (M1 i c f) |
Instance details Defined in GHC.Generics Methods fmap :: (a -> b) -> M1 i c f a -> M1 i c f b # (<$) :: a -> M1 i c f b -> M1 i c f a #
Functor f => Functor (WhenMatched f k x y) |
Instance details Defined in Data.Map.Internal Methods fmap :: (a -> b) -> WhenMatched f k x y a -> WhenMatched f k x y b # (<$) :: a -> WhenMatched f k x y b -> WhenMatched f k x y a #
Functor m => Functor (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy Methods fmap :: (a -> b) -> RWST r w s m a -> RWST r w s m b # (<$) :: a -> RWST r w s m b -> RWST r w s m a #
Functor m => Functor (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Strict Methods fmap :: (a -> b) -> RWST r w s m a -> RWST r w s m b # (<$) :: a -> RWST r w s m b -> RWST r w s m a #
Functor ((,,,,) a b c d) |
Instance details Defined in GHC.Base Methods fmap :: (a0 -> b0) -> (a, b, c, d, a0) -> (a, b, c, d, b0) # (<$) :: a0 -> (a, b, c, d, b0) -> (a, b, c, d, a0) #
Monad m => Functor (Pipe l i o u m) |
Instance details Defined in Data.Conduit.Internal.Pipe Methods fmap :: (a -> b) -> Pipe l i o u m a -> Pipe l i o u m b # (<$) :: a -> Pipe l i o u m b -> Pipe l i o u m a #
Functor ((,,,,,) a b c d e) |
Instance details Defined in GHC.Base Methods fmap :: (a0 -> b0) -> (a, b, c, d, e, a0) -> (a, b, c, d, e, b0) # (<$) :: a0 -> (a, b, c, d, e, b0) -> (a, b, c, d, e, a0) #
Functor ((,,,,,,) a b c d e f) |
Instance details Defined in GHC.Base Methods fmap :: (a0 -> b0) -> (a, b, c, d, e, f, a0) -> (a, b, c, d, e, f, b0) # (<$) :: a0 -> (a, b, c, d, e, f, b0) -> (a, b, c, d, e, f, a0) #

class Applicative m => Monad (m :: Type -> Type) where #

Minimal complete definition

(>>=)

Methods

(>>=) :: m a -> (a -> m b) -> m b #

(>>) :: m a -> m b -> m b #

return :: a -> m a #

#### Instances

Instances details

Monad IResult |
Instance details Defined in Data.Aeson.Types.Internal Methods (>>=) :: IResult a -> (a -> IResult b) -> IResult b # (>>) :: IResult a -> IResult b -> IResult b # return :: a -> IResult a #
Monad Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods (>>=) :: Parser a -> (a -> Parser b) -> Parser b # (>>) :: Parser a -> Parser b -> Parser b # return :: a -> Parser a #
Monad Result |
Instance details Defined in Data.Aeson.Types.Internal Methods (>>=) :: Result a -> (a -> Result b) -> Result b # (>>) :: Result a -> Result b -> Result b # return :: a -> Result a #
Monad Identity |
Instance details Defined in Data.Functor.Identity Methods (>>=) :: Identity a -> (a -> Identity b) -> Identity b # (>>) :: Identity a -> Identity b -> Identity b # return :: a -> Identity a #
Monad Down |
Instance details Defined in Data.Ord Methods (>>=) :: Down a -> (a -> Down b) -> Down b # (>>) :: Down a -> Down b -> Down b # return :: a -> Down a #
Monad Dual |
Instance details Defined in Data.Semigroup.Internal Methods (>>=) :: Dual a -> (a -> Dual b) -> Dual b # (>>) :: Dual a -> Dual b -> Dual b # return :: a -> Dual a #
Monad Product |
Instance details Defined in Data.Semigroup.Internal Methods (>>=) :: Product a -> (a -> Product b) -> Product b # (>>) :: Product a -> Product b -> Product b # return :: a -> Product a #
Monad Sum |
Instance details Defined in Data.Semigroup.Internal Methods (>>=) :: Sum a -> (a -> Sum b) -> Sum b # (>>) :: Sum a -> Sum b -> Sum b # return :: a -> Sum a #
Monad NonEmpty |
Instance details Defined in GHC.Base Methods (>>=) :: NonEmpty a -> (a -> NonEmpty b) -> NonEmpty b # (>>) :: NonEmpty a -> NonEmpty b -> NonEmpty b # return :: a -> NonEmpty a #
Monad STM |
Instance details Defined in GHC.Conc.Sync Methods (>>=) :: STM a -> (a -> STM b) -> STM b # (>>) :: STM a -> STM b -> STM b # return :: a -> STM a #
Monad Par1 |
Instance details Defined in GHC.Generics Methods (>>=) :: Par1 a -> (a -> Par1 b) -> Par1 b # (>>) :: Par1 a -> Par1 b -> Par1 b # return :: a -> Par1 a #
Monad P |
Instance details Defined in Text.ParserCombinators.ReadP Methods (>>=) :: P a -> (a -> P b) -> P b # (>>) :: P a -> P b -> P b # return :: a -> P a #
Monad ReadP |
Instance details Defined in Text.ParserCombinators.ReadP Methods (>>=) :: ReadP a -> (a -> ReadP b) -> ReadP b # (>>) :: ReadP a -> ReadP b -> ReadP b # return :: a -> ReadP a #
Monad ReadPrec |
Instance details Defined in Text.ParserCombinators.ReadPrec Methods (>>=) :: ReadPrec a -> (a -> ReadPrec b) -> ReadPrec b # (>>) :: ReadPrec a -> ReadPrec b -> ReadPrec b # return :: a -> ReadPrec a #
Monad Put |
Instance details Defined in Data.ByteString.Builder.Internal Methods (>>=) :: Put a -> (a -> Put b) -> Put b # (>>) :: Put a -> Put b -> Put b # return :: a -> Put a #
Monad Seq |
Instance details Defined in Data.Sequence.Internal Methods (>>=) :: Seq a -> (a -> Seq b) -> Seq b # (>>) :: Seq a -> Seq b -> Seq b # return :: a -> Seq a #
Monad Tree |
Instance details Defined in Data.Tree Methods (>>=) :: Tree a -> (a -> Tree b) -> Tree b # (>>) :: Tree a -> Tree b -> Tree b # return :: a -> Tree a #
Monad DNonEmpty |
Instance details Defined in Data.DList.DNonEmpty.Internal Methods (>>=) :: DNonEmpty a -> (a -> DNonEmpty b) -> DNonEmpty b # (>>) :: DNonEmpty a -> DNonEmpty b -> DNonEmpty b # return :: a -> DNonEmpty a #
Monad DList |
Instance details Defined in Data.DList.Internal Methods (>>=) :: DList a -> (a -> DList b) -> DList b # (>>) :: DList a -> DList b -> DList b # return :: a -> DList a #
Monad IO |
Instance details Defined in GHC.Base Methods (>>=) :: IO a -> (a -> IO b) -> IO b # (>>) :: IO a -> IO b -> IO b # return :: a -> IO a #
Monad Root |
Instance details Defined in Numeric.RootFinding Methods (>>=) :: Root a -> (a -> Root b) -> Root b # (>>) :: Root a -> Root b -> Root b # return :: a -> Root a #
Monad Array |
Instance details Defined in Data.Primitive.Array Methods (>>=) :: Array a -> (a -> Array b) -> Array b # (>>) :: Array a -> Array b -> Array b # return :: a -> Array a #
Monad SmallArray |
Instance details Defined in Data.Primitive.SmallArray Methods (>>=) :: SmallArray a -> (a -> SmallArray b) -> SmallArray b # (>>) :: SmallArray a -> SmallArray b -> SmallArray b # return :: a -> SmallArray a #
Monad Q |
Instance details Defined in Language.Haskell.TH.Syntax Methods (>>=) :: Q a -> (a -> Q b) -> Q b # (>>) :: Q a -> Q b -> Q b # return :: a -> Q a #
Monad Capability |
Instance details Defined in System.Console.Terminfo.Base Methods (>>=) :: Capability a -> (a -> Capability b) -> Capability b # (>>) :: Capability a -> Capability b -> Capability b # return :: a -> Capability a #
Monad Vector |
Instance details Defined in Data.Vector Methods (>>=) :: Vector a -> (a -> Vector b) -> Vector b # (>>) :: Vector a -> Vector b -> Vector b # return :: a -> Vector a #
Monad Maybe |
Instance details Defined in GHC.Base Methods (>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b # (>>) :: Maybe a -> Maybe b -> Maybe b # return :: a -> Maybe a #
Monad Solo |
Instance details Defined in GHC.Base Methods (>>=) :: Solo a -> (a -> Solo b) -> Solo b # (>>) :: Solo a -> Solo b -> Solo b # return :: a -> Solo a #
Monad List |
Instance details Defined in GHC.Base Methods (>>=) :: [a] -> (a -> [b]) -> [b] # (>>) :: [a] -> [b] -> [b] # return :: a -> [a] #
Monad (Parser i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods (>>=) :: Parser i a -> (a -> Parser i b) -> Parser i b # (>>) :: Parser i a -> Parser i b -> Parser i b # return :: a -> Parser i a #
Monad m => Monad (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods (>>=) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b # (>>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # return :: a -> WrappedMonad m a #
ArrowApply a => Monad (ArrowMonad a) |
Instance details Defined in Control.Arrow Methods (>>=) :: ArrowMonad a a0 -> (a0 -> ArrowMonad a b) -> ArrowMonad a b # (>>) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a b # return :: a0 -> ArrowMonad a a0 #
Monad (Either e) |
Instance details Defined in Data.Either Methods (>>=) :: Either e a -> (a -> Either e b) -> Either e b # (>>) :: Either e a -> Either e b -> Either e b # return :: a -> Either e a #
Monad (U1 :: Type -> Type) |
Instance details Defined in GHC.Generics Methods (>>=) :: U1 a -> (a -> U1 b) -> U1 b # (>>) :: U1 a -> U1 b -> U1 b # return :: a -> U1 a #
Monad (ST s) |
Instance details Defined in GHC.ST Methods (>>=) :: ST s a -> (a -> ST s b) -> ST s b # (>>) :: ST s a -> ST s b -> ST s b # return :: a -> ST s a #
Monad (SetM s) |
Instance details Defined in Data.Graph Methods (>>=) :: SetM s a -> (a -> SetM s b) -> SetM s b # (>>) :: SetM s a -> SetM s b -> SetM s b # return :: a -> SetM s a #
Functor f => Monad (Free f) |
Instance details Defined in Control.Monad.Free Methods (>>=) :: Free f a -> (a -> Free f b) -> Free f b # (>>) :: Free f a -> Free f b -> Free f b # return :: a -> Free f a #
Monad m => Monad (InputT m) |
Instance details Defined in System.Console.Haskeline.InputT Methods (>>=) :: InputT m a -> (a -> InputT m b) -> InputT m b # (>>) :: InputT m a -> InputT m b -> InputT m b # return :: a -> InputT m a #
Monad m => Monad (HtmlT m) | Basically acts like Writer.
Instance details Defined in Lucid.Base Methods (>>=) :: HtmlT m a -> (a -> HtmlT m b) -> HtmlT m b # (>>) :: HtmlT m a -> HtmlT m b -> HtmlT m b # return :: a -> HtmlT m a #
Monad f => Monad (WrappedPoly f) |
Instance details Defined in Data.MonoTraversable Methods (>>=) :: WrappedPoly f a -> (a -> WrappedPoly f b) -> WrappedPoly f b # (>>) :: WrappedPoly f a -> WrappedPoly f b -> WrappedPoly f b # return :: a -> WrappedPoly f a #
Monad m => Monad (ResourceT m) |
Instance details Defined in Control.Monad.Trans.Resource.Internal Methods (>>=) :: ResourceT m a -> (a -> ResourceT m b) -> ResourceT m b # (>>) :: ResourceT m a -> ResourceT m b -> ResourceT m b # return :: a -> ResourceT m a #
Semigroup a => Monad (These a) |
Instance details Defined in Data.Strict.These Methods (>>=) :: These a a0 -> (a0 -> These a b) -> These a b # (>>) :: These a a0 -> These a b -> These a b # return :: a0 -> These a a0 #
Monad m => Monad (QuoteToQuasi m) |
Instance details Defined in Language.Haskell.TH.Syntax.Compat Methods (>>=) :: QuoteToQuasi m a -> (a -> QuoteToQuasi m b) -> QuoteToQuasi m b # (>>) :: QuoteToQuasi m a -> QuoteToQuasi m b -> QuoteToQuasi m b # return :: a -> QuoteToQuasi m a #
Semigroup a => Monad (These a) |
Instance details Defined in Data.These Methods (>>=) :: These a a0 -> (a0 -> These a b) -> These a b # (>>) :: These a a0 -> These a b -> These a b # return :: a0 -> These a a0 #
Monad m => Monad (MaybeT m) |
Instance details Defined in Control.Monad.Trans.Maybe Methods (>>=) :: MaybeT m a -> (a -> MaybeT m b) -> MaybeT m b # (>>) :: MaybeT m a -> MaybeT m b -> MaybeT m b # return :: a -> MaybeT m a #
Functor backend => Monad (Wizard backend) |
Instance details Defined in System.Console.Wizard.Internal Methods (>>=) :: Wizard backend a -> (a -> Wizard backend b) -> Wizard backend b # (>>) :: Wizard backend a -> Wizard backend b -> Wizard backend b # return :: a -> Wizard backend a #
Monoid a => Monad ((,) a) |
Instance details Defined in GHC.Base Methods (>>=) :: (a, a0) -> (a0 -> (a, b)) -> (a, b) # (>>) :: (a, a0) -> (a, b) -> (a, b) # return :: a0 -> (a, a0) #
Monad m => Monad (Kleisli m a) |
Instance details Defined in Control.Arrow Methods (>>=) :: Kleisli m a a0 -> (a0 -> Kleisli m a b) -> Kleisli m a b # (>>) :: Kleisli m a a0 -> Kleisli m a b -> Kleisli m a b # return :: a0 -> Kleisli m a a0 #
Monad m => Monad (StateT s m) |
Instance details Defined in Data.Functor.Utils Methods (>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b # (>>) :: StateT s m a -> StateT s m b -> StateT s m b # return :: a -> StateT s m a #
Monad f => Monad (Alt f) |
Instance details Defined in Data.Semigroup.Internal Methods (>>=) :: Alt f a -> (a -> Alt f b) -> Alt f b # (>>) :: Alt f a -> Alt f b -> Alt f b # return :: a -> Alt f a #
Monad f => Monad (Rec1 f) |
Instance details Defined in GHC.Generics Methods (>>=) :: Rec1 f a -> (a -> Rec1 f b) -> Rec1 f b # (>>) :: Rec1 f a -> Rec1 f b -> Rec1 f b # return :: a -> Rec1 f a #
(Applicative f, Monad f) => Monad (WhenMissing f x) |
Instance details Defined in Data.IntMap.Internal Methods (>>=) :: WhenMissing f x a -> (a -> WhenMissing f x b) -> WhenMissing f x b # (>>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b # return :: a -> WhenMissing f x a #
(Functor f, Monad m) => Monad (FreeT f m) |
Instance details Defined in Control.Monad.Free Methods (>>=) :: FreeT f m a -> (a -> FreeT f m b) -> FreeT f m b # (>>) :: FreeT f m a -> FreeT f m b -> FreeT f m b # return :: a -> FreeT f m a #
Monad m => Monad (StateT s m) |
Instance details Defined in Lens.Micro Methods (>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b # (>>) :: StateT s m a -> StateT s m b -> StateT s m b # return :: a -> StateT s m a #
Monad (Tagged s) |
Instance details Defined in Data.Tagged Methods (>>=) :: Tagged s a -> (a -> Tagged s b) -> Tagged s b # (>>) :: Tagged s a -> Tagged s b -> Tagged s b # return :: a -> Tagged s a #
Monad m => Monad (ExceptT e m) |
Instance details Defined in Control.Monad.Trans.Except Methods (>>=) :: ExceptT e m a -> (a -> ExceptT e m b) -> ExceptT e m b # (>>) :: ExceptT e m a -> ExceptT e m b -> ExceptT e m b # return :: a -> ExceptT e m a #
Monad m => Monad (IdentityT m) |
Instance details Defined in Control.Monad.Trans.Identity Methods (>>=) :: IdentityT m a -> (a -> IdentityT m b) -> IdentityT m b # (>>) :: IdentityT m a -> IdentityT m b -> IdentityT m b # return :: a -> IdentityT m a #
Monad m => Monad (ReaderT r m) |
Instance details Defined in Control.Monad.Trans.Reader Methods (>>=) :: ReaderT r m a -> (a -> ReaderT r m b) -> ReaderT r m b # (>>) :: ReaderT r m a -> ReaderT r m b -> ReaderT r m b # return :: a -> ReaderT r m a #
Monad m => Monad (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Lazy Methods (>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b # (>>) :: StateT s m a -> StateT s m b -> StateT s m b # return :: a -> StateT s m a #
Monad m => Monad (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Strict Methods (>>=) :: StateT s m a -> (a -> StateT s m b) -> StateT s m b # (>>) :: StateT s m a -> StateT s m b -> StateT s m b # return :: a -> StateT s m a #
(Monoid w, Monad m) => Monad (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods (>>=) :: WriterT w m a -> (a -> WriterT w m b) -> WriterT w m b # (>>) :: WriterT w m a -> WriterT w m b -> WriterT w m b # return :: a -> WriterT w m a #
(Monoid w, Monad m) => Monad (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods (>>=) :: WriterT w m a -> (a -> WriterT w m b) -> WriterT w m b # (>>) :: WriterT w m a -> WriterT w m b -> WriterT w m b # return :: a -> WriterT w m a #
Monad m => Monad (Reverse m) |
Instance details Defined in Data.Functor.Reverse Methods (>>=) :: Reverse m a -> (a -> Reverse m b) -> Reverse m b # (>>) :: Reverse m a -> Reverse m b -> Reverse m b # return :: a -> Reverse m a #
(Monoid a, Monoid b) => Monad ((,,) a b) |
Instance details Defined in GHC.Base Methods (>>=) :: (a, b, a0) -> (a0 -> (a, b, b0)) -> (a, b, b0) # (>>) :: (a, b, a0) -> (a, b, b0) -> (a, b, b0) # return :: a0 -> (a, b, a0) #
(Monad f, Monad g) => Monad (f :*: g) |
Instance details Defined in GHC.Generics Methods (>>=) :: (f :*: g) a -> (a -> (f :*: g) b) -> (f :*: g) b # (>>) :: (f :*: g) a -> (f :*: g) b -> (f :*: g) b # return :: a -> (f :*: g) a #
Monad (ConduitT i o m) |
Instance details Defined in Data.Conduit.Internal.Conduit Methods (>>=) :: ConduitT i o m a -> (a -> ConduitT i o m b) -> ConduitT i o m b # (>>) :: ConduitT i o m a -> ConduitT i o m b -> ConduitT i o m b # return :: a -> ConduitT i o m a #
(Monad f, Applicative f) => Monad (WhenMatched f x y) |
Instance details Defined in Data.IntMap.Internal Methods (>>=) :: WhenMatched f x y a -> (a -> WhenMatched f x y b) -> WhenMatched f x y b # (>>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b # return :: a -> WhenMatched f x y a #
(Applicative f, Monad f) => Monad (WhenMissing f k x) |
Instance details Defined in Data.Map.Internal Methods (>>=) :: WhenMissing f k x a -> (a -> WhenMissing f k x b) -> WhenMissing f k x b # (>>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b # return :: a -> WhenMissing f k x a #
Stream s => Monad (ParsecT e s m) | `return` returns a parser that succeeds without consuming input.
Instance details Defined in Text.Megaparsec.Internal Methods (>>=) :: ParsecT e s m a -> (a -> ParsecT e s m b) -> ParsecT e s m b # (>>) :: ParsecT e s m a -> ParsecT e s m b -> ParsecT e s m b # return :: a -> ParsecT e s m a #
Monad (ContT r m) |
Instance details Defined in Control.Monad.Trans.Cont Methods (>>=) :: ContT r m a -> (a -> ContT r m b) -> ContT r m b # (>>) :: ContT r m a -> ContT r m b -> ContT r m b # return :: a -> ContT r m a #
(Monoid a, Monoid b, Monoid c) => Monad ((,,,) a b c) |
Instance details Defined in GHC.Base Methods (>>=) :: (a, b, c, a0) -> (a0 -> (a, b, c, b0)) -> (a, b, c, b0) # (>>) :: (a, b, c, a0) -> (a, b, c, b0) -> (a, b, c, b0) # return :: a0 -> (a, b, c, a0) #
Monad ((->) r) |
Instance details Defined in GHC.Base Methods (>>=) :: (r -> a) -> (a -> r -> b) -> r -> b # (>>) :: (r -> a) -> (r -> b) -> r -> b # return :: a -> r -> a #
Monad f => Monad (M1 i c f) |
Instance details Defined in GHC.Generics Methods (>>=) :: M1 i c f a -> (a -> M1 i c f b) -> M1 i c f b # (>>) :: M1 i c f a -> M1 i c f b -> M1 i c f b # return :: a -> M1 i c f a #
(Monad f, Applicative f) => Monad (WhenMatched f k x y) |
Instance details Defined in Data.Map.Internal Methods (>>=) :: WhenMatched f k x y a -> (a -> WhenMatched f k x y b) -> WhenMatched f k x y b # (>>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b # return :: a -> WhenMatched f k x y a #
(Monoid w, Monad m) => Monad (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy Methods (>>=) :: RWST r w s m a -> (a -> RWST r w s m b) -> RWST r w s m b # (>>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b # return :: a -> RWST r w s m a #
(Monoid w, Monad m) => Monad (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Strict Methods (>>=) :: RWST r w s m a -> (a -> RWST r w s m b) -> RWST r w s m b # (>>) :: RWST r w s m a -> RWST r w s m b -> RWST r w s m b # return :: a -> RWST r w s m a #
Monad m => Monad (Pipe l i o u m) |
Instance details Defined in Data.Conduit.Internal.Pipe Methods (>>=) :: Pipe l i o u m a -> (a -> Pipe l i o u m b) -> Pipe l i o u m b # (>>) :: Pipe l i o u m a -> Pipe l i o u m b -> Pipe l i o u m b # return :: a -> Pipe l i o u m a #

data Either a b #

Constructors

Left a |
Right b |

#### Instances

Instances details

FromJSON2 Either |
Instance details Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON2 :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe b -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser (Either a b) # liftParseJSONList2 :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe b -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser [Either a b] # liftOmittedField2 :: Maybe a -> Maybe b -> Maybe (Either a b) #
ToJSON2 Either |
Instance details Defined in Data.Aeson.Types.ToJSON Methods liftToJSON2 :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> (b -> Bool) -> (b -> Value) -> ([b] -> Value) -> Either a b -> Value # liftToJSONList2 :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> (b -> Bool) -> (b -> Value) -> ([b] -> Value) -> [Either a b] -> Value # liftToEncoding2 :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> (b -> Bool) -> (b -> Encoding) -> ([b] -> Encoding) -> Either a b -> Encoding # liftToEncodingList2 :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> (b -> Bool) -> (b -> Encoding) -> ([b] -> Encoding) -> [Either a b] -> Encoding # liftOmitField2 :: (a -> Bool) -> (b -> Bool) -> Either a b -> Bool #
Bifunctor Either |
Instance details Defined in Data.Bifunctor Methods bimap :: (a -> b) -> (c -> d) -> Either a c -> Either b d # first :: (a -> b) -> Either a c -> Either b c # second :: (b -> c) -> Either a b -> Either a c #
NFData2 Either |
Instance details Defined in Control.DeepSeq Methods liftRnf2 :: (a -> ()) -> (b -> ()) -> Either a b -> ()
Hashable2 Either |
Instance details Defined in Data.Hashable.Class Methods liftHashWithSalt2 :: (Int -> a -> Int) -> (Int -> b -> Int) -> Int -> Either a b -> Int #
Generic1 (Either a :: Type -> Type) |
Instance details Defined in GHC.Generics Associated Types type Rep1 (Either a) :: k -> Type Methods from1 :: forall (a0 :: k). Either a a0 -> Rep1 (Either a) a0 to1 :: forall (a0 :: k). Rep1 (Either a) a0 -> Either a a0
(Lift a, Lift b) => Lift (Either a b :: Type) |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Either a b -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => Either a b -> Code m (Either a b) #
FromJSON a => FromJSON1 (Either a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: Maybe a0 -> (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser (Either a a0) # liftParseJSONList :: Maybe a0 -> (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser [Either a a0] # liftOmittedField :: Maybe a0 -> Maybe (Either a a0) #
ToJSON a => ToJSON1 (Either a) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a0 -> Bool) -> (a0 -> Value) -> ([a0] -> Value) -> Either a a0 -> Value # liftToJSONList :: (a0 -> Bool) -> (a0 -> Value) -> ([a0] -> Value) -> [Either a a0] -> Value # liftToEncoding :: (a0 -> Bool) -> (a0 -> Encoding) -> ([a0] -> Encoding) -> Either a a0 -> Encoding # liftToEncodingList :: (a0 -> Bool) -> (a0 -> Encoding) -> ([a0] -> Encoding) -> [Either a a0] -> Encoding # liftOmitField :: (a0 -> Bool) -> Either a a0 -> Bool #
Foldable (Either a) |
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Either a m -> m foldMap :: Monoid m => (a0 -> m) -> Either a a0 -> m foldMap' :: Monoid m => (a0 -> m) -> Either a a0 -> m foldr :: (a0 -> b -> b) -> b -> Either a a0 -> b # foldr' :: (a0 -> b -> b) -> b -> Either a a0 -> b foldl :: (b -> a0 -> b) -> b -> Either a a0 -> b # foldl' :: (b -> a0 -> b) -> b -> Either a a0 -> b # foldr1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 # foldl1 :: (a0 -> a0 -> a0) -> Either a a0 -> a0 # toList :: Either a a0 -> [a0] null :: Either a a0 -> Bool # length :: Either a a0 -> Int # elem :: Eq a0 => a0 -> Either a a0 -> Bool # maximum :: Ord a0 => Either a a0 -> a0 # minimum :: Ord a0 => Either a a0 -> a0 # sum :: Num a0 => Either a a0 -> a0 # product :: Num a0 => Either a a0 -> a0 #
Traversable (Either a) |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a0 -> f b) -> Either a a0 -> f (Either a b) sequenceA :: Applicative f => Either a (f a0) -> f (Either a a0) mapM :: Monad m => (a0 -> m b) -> Either a a0 -> m (Either a b) # sequence :: Monad m => Either a (m a0) -> m (Either a a0) #
Applicative (Either e) |
Instance details Defined in Data.Either Methods pure :: a -> Either e a # (<*>) :: Either e (a -> b) -> Either e a -> Either e b # liftA2 :: (a -> b -> c) -> Either e a -> Either e b -> Either e c # (*>) :: Either e a -> Either e b -> Either e b # (<*) :: Either e a -> Either e b -> Either e a #
Functor (Either a) |
Instance details Defined in Data.Either Methods fmap :: (a0 -> b) -> Either a a0 -> Either a b # (<$) :: a0 -> Either a b -> Either a a0 #
Monad (Either e) |
Instance details Defined in Data.Either Methods (>>=) :: Either e a -> (a -> Either e b) -> Either e b # (>>) :: Either e a -> Either e b -> Either e b # return :: a -> Either e a #
NFData a => NFData1 (Either a) |
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a0 -> ()) -> Either a a0 -> ()
e ~ SomeException => MonadCatch (Either e) |
Instance details Defined in Control.Monad.Catch Methods catch :: (HasCallStack, Exception e0) => Either e a -> (e0 -> Either e a) -> Either e a
e ~ SomeException => MonadMask (Either e) |
Instance details Defined in Control.Monad.Catch Methods mask :: HasCallStack => ((forall a. Either e a -> Either e a) -> Either e b) -> Either e b uninterruptibleMask :: HasCallStack => ((forall a. Either e a -> Either e a) -> Either e b) -> Either e b generalBracket :: HasCallStack => Either e a -> (a -> ExitCase b -> Either e c) -> (a -> Either e b) -> Either e (b, c)
e ~ SomeException => MonadThrow (Either e) |
Instance details Defined in Control.Monad.Catch Methods throwM :: (HasCallStack, Exception e0) => e0 -> Either e a #
Hashable a => Hashable1 (Either a) |
Instance details Defined in Data.Hashable.Class Methods liftHashWithSalt :: (Int -> a0 -> Int) -> Int -> Either a a0 -> Int #
e ~ a => Reportable (Either a) e |
Instance details Defined in Hledger.Reports.ReportOptions Methods report :: a0 -> Either a (Either e a0) -> Either a a0
(FromJSON a, FromJSON b) => FromJSON (Either a b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Either a b) # parseJSONList :: Value -> Parser [Either a b] # omittedField :: Maybe (Either a b) #
(ToJSON a, ToJSON b) => ToJSON (Either a b) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Either a b -> Value # toEncoding :: Either a b -> Encoding # toJSONList :: [Either a b] -> Value # toEncodingList :: [Either a b] -> Encoding # omitField :: Either a b -> Bool #
(Data a, Data b) => Data (Either a b) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Either a b -> c (Either a b) gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Either a b) toConstr :: Either a b -> Constr dataTypeOf :: Either a b -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Either a b)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Either a b)) gmapT :: (forall b0. Data b0 => b0 -> b0) -> Either a b -> Either a b gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Either a b -> r gmapQ :: (forall d. Data d => d -> u) -> Either a b -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Either a b -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Either a b -> m (Either a b)
Semigroup (Either a b) |
Instance details Defined in Data.Either Methods (<>) :: Either a b -> Either a b -> Either a b # sconcat :: NonEmpty (Either a b) -> Either a b # stimes :: Integral b0 => b0 -> Either a b -> Either a b #
Generic (Either a b) |
Instance details Defined in GHC.Generics Associated Types type Rep (Either a b) :: Type -> Type Methods from :: Either a b -> Rep (Either a b) x to :: Rep (Either a b) x -> Either a b
(Read a, Read b) => Read (Either a b) |
Instance details Defined in Data.Either Methods readsPrec :: Int -> ReadS (Either a b) # readList :: ReadS [Either a b] # readPrec :: ReadPrec (Either a b) # readListPrec :: ReadPrec [Either a b] #
(Show a, Show b) => Show (Either a b) |
Instance details Defined in Data.Either Methods showsPrec :: Int -> Either a b -> ShowS show :: Either a b -> String showList :: [Either a b] -> ShowS
(NFData a, NFData b) => NFData (Either a b) |
Instance details Defined in Control.DeepSeq Methods rnf :: Either a b -> ()
(Eq a, Eq b) => Eq (Either a b) |
Instance details Defined in Data.Either Methods (==) :: Either a b -> Either a b -> Bool (/=) :: Either a b -> Either a b -> Bool
(Ord a, Ord b) => Ord (Either a b) |
Instance details Defined in Data.Either Methods compare :: Either a b -> Either a b -> Ordering # (<) :: Either a b -> Either a b -> Bool # (<=) :: Either a b -> Either a b -> Bool # (>) :: Either a b -> Either a b -> Bool # (>=) :: Either a b -> Either a b -> Bool # max :: Either a b -> Either a b -> Either a b # min :: Either a b -> Either a b -> Either a b #
(Hashable a, Hashable b) => Hashable (Either a b) |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Either a b -> Int # hash :: Either a b -> Int #
MonoFoldable (Either a b) |
Instance details Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element (Either a b) -> m) -> Either a b -> m # ofoldr :: (Element (Either a b) -> b0 -> b0) -> b0 -> Either a b -> b0 # ofoldl' :: (a0 -> Element (Either a b) -> a0) -> a0 -> Either a b -> a0 # otoList :: Either a b -> [Element (Either a b)] # oall :: (Element (Either a b) -> Bool) -> Either a b -> Bool # oany :: (Element (Either a b) -> Bool) -> Either a b -> Bool # onull :: Either a b -> Bool # olength :: Either a b -> Int # olength64 :: Either a b -> Int64 # ocompareLength :: Integral i => Either a b -> i -> Ordering # otraverse_ :: Applicative f => (Element (Either a b) -> f b0) -> Either a b -> f () # ofor_ :: Applicative f => Either a b -> (Element (Either a b) -> f b0) -> f () # omapM_ :: Applicative m => (Element (Either a b) -> m ()) -> Either a b -> m () # oforM_ :: Applicative m => Either a b -> (Element (Either a b) -> m ()) -> m () # ofoldlM :: Monad m => (a0 -> Element (Either a b) -> m a0) -> a0 -> Either a b -> m a0 # ofoldMap1Ex :: Semigroup m => (Element (Either a b) -> m) -> Either a b -> m # ofoldr1Ex :: (Element (Either a b) -> Element (Either a b) -> Element (Either a b)) -> Either a b -> Element (Either a b) # ofoldl1Ex' :: (Element (Either a b) -> Element (Either a b) -> Element (Either a b)) -> Either a b -> Element (Either a b) # headEx :: Either a b -> Element (Either a b) # lastEx :: Either a b -> Element (Either a b) # unsafeHead :: Either a b -> Element (Either a b) # unsafeLast :: Either a b -> Element (Either a b) # maximumByEx :: (Element (Either a b) -> Element (Either a b) -> Ordering) -> Either a b -> Element (Either a b) # minimumByEx :: (Element (Either a b) -> Element (Either a b) -> Ordering) -> Either a b -> Element (Either a b) # oelem :: Element (Either a b) -> Either a b -> Bool # onotElem :: Element (Either a b) -> Either a b -> Bool #
MonoFunctor (Either a b) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (Either a b) -> Element (Either a b)) -> Either a b -> Either a b #
MonoPointed (Either a b) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (Either a b) -> Either a b #
MonoTraversable (Either a b) |
Instance details Defined in Data.MonoTraversable Methods otraverse :: Applicative f => (Element (Either a b) -> f (Element (Either a b))) -> Either a b -> f (Either a b) # omapM :: Applicative m => (Element (Either a b) -> m (Element (Either a b))) -> Either a b -> m (Either a b) #
(a ~ a', b ~ b') => Each (Either a a') (Either b b') a b | Since: microlens-0.4.11
Instance details Defined in Lens.Micro.Internal Methods each :: Traversal (Either a a') (Either b b') a b #
type Rep1 (Either a :: Type -> Type) |
Instance details Defined in GHC.Generics type Rep1 (Either a :: Type -> Type) = D1 ('MetaData "Either" "Data.Either" "base" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Either a b) |
Instance details Defined in GHC.Generics type Rep (Either a b) = D1 ('MetaData "Either" "Data.Either" "base" 'False) (C1 ('MetaCons "Left" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "Right" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b)))
type Element (Either a b) |
Instance details Defined in Data.MonoTraversable type Element (Either a b) = b

data IO a #

#### Instances

Instances details

MonadFail IO |
Instance details Defined in Control.Monad.Fail Methods fail :: String -> IO a #
MonadIO IO |
Instance details Defined in Control.Monad.IO.Class Methods liftIO :: IO a -> IO a #
Alternative IO |
Instance details Defined in GHC.Base Methods empty :: IO a # (<|>) :: IO a -> IO a -> IO a # some :: IO a -> IO [a] # many :: IO a -> IO [a] #
Applicative IO |
Instance details Defined in GHC.Base Methods pure :: a -> IO a # (<*>) :: IO (a -> b) -> IO a -> IO b # liftA2 :: (a -> b -> c) -> IO a -> IO b -> IO c # (*>) :: IO a -> IO b -> IO b # (<*) :: IO a -> IO b -> IO a #
Functor IO |
Instance details Defined in GHC.Base Methods fmap :: (a -> b) -> IO a -> IO b # (<$) :: a -> IO b -> IO a #
Monad IO |
Instance details Defined in GHC.Base Methods (>>=) :: IO a -> (a -> IO b) -> IO b # (>>) :: IO a -> IO b -> IO b # return :: a -> IO a #
MonadPlus IO |
Instance details Defined in GHC.Base Methods mzero :: IO a # mplus :: IO a -> IO a -> IO a #
MonadCatch IO |
Instance details Defined in Control.Monad.Catch Methods catch :: (HasCallStack, Exception e) => IO a -> (e -> IO a) -> IO a
MonadMask IO |
Instance details Defined in Control.Monad.Catch Methods mask :: HasCallStack => ((forall a. IO a -> IO a) -> IO b) -> IO b uninterruptibleMask :: HasCallStack => ((forall a. IO a -> IO a) -> IO b) -> IO b generalBracket :: HasCallStack => IO a -> (a -> ExitCase b -> IO c) -> (a -> IO b) -> IO (b, c)
MonadThrow IO |
Instance details Defined in Control.Monad.Catch Methods throwM :: (HasCallStack, Exception e) => e -> IO a #
PrimBase IO |
Instance details Defined in Control.Monad.Primitive Methods internal :: IO a -> State# (PrimState IO) -> (# State# (PrimState IO), a #) #
PrimMonad IO |
Instance details Defined in Control.Monad.Primitive Associated Types type PrimState IO # Methods primitive :: (State# (PrimState IO) -> (# State# (PrimState IO), a #)) -> IO a #
Quasi IO |
Instance details Defined in Language.Haskell.TH.Syntax Methods qNewName :: String -> IO Name qReport :: Bool -> String -> IO () qRecover :: IO a -> IO a -> IO a qLookupName :: Bool -> String -> IO (Maybe Name) qReify :: Name -> IO Info qReifyFixity :: Name -> IO (Maybe Fixity) qReifyType :: Name -> IO Type qReifyInstances :: Name -> [Type] -> IO [Dec] qReifyRoles :: Name -> IO [Role] qReifyAnnotations :: Data a => AnnLookup -> IO [a] qReifyModule :: Module -> IO ModuleInfo qReifyConStrictness :: Name -> IO [DecidedStrictness] qLocation :: IO Loc qRunIO :: IO a -> IO a qGetPackageRoot :: IO FilePath qAddDependentFile :: FilePath -> IO () qAddTempFile :: String -> IO FilePath qAddTopDecls :: [Dec] -> IO () qAddForeignFilePath :: ForeignSrcLang -> String -> IO () qAddModFinalizer :: Q () -> IO () qAddCorePlugin :: String -> IO () qGetQ :: Typeable a => IO (Maybe a) qPutQ :: Typeable a => a -> IO () qIsExtEnabled :: Extension -> IO Bool qExtsEnabled :: IO [Extension] qPutDoc :: DocLoc -> String -> IO () qGetDoc :: DocLoc -> IO (Maybe String)
Quote IO |
Instance details Defined in Language.Haskell.TH.Syntax Methods newName :: String -> IO Name #
Monoid a => Monoid (IO a) |
Instance details Defined in GHC.Base Methods mempty :: IO a # mappend :: IO a -> IO a -> IO a # mconcat :: [IO a] -> IO a #
Semigroup a => Semigroup (IO a) |
Instance details Defined in GHC.Base Methods (<>) :: IO a -> IO a -> IO a # sconcat :: NonEmpty (IO a) -> IO a # stimes :: Integral b => b -> IO a -> IO a #
a ~ () => HPrintfType (IO a) |
Instance details Defined in Text.Printf Methods hspr :: Handle -> String -> [UPrintf] -> IO a
a ~ () => PrintfType (IO a) |
Instance details Defined in Text.Printf Methods spr :: String -> [UPrintf] -> IO a
Default a => Default (IO a) |
Instance details Defined in Data.Default.Class Methods def :: IO a #
MonoFunctor (IO a) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (IO a) -> Element (IO a)) -> IO a -> IO a #
MonoPointed (IO a) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (IO a) -> IO a #
Assertable t => Assertable (IO t) |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assert :: IO t -> Assertion #
AssertionPredicable t => AssertionPredicable (IO t) |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assertionPredicate :: IO t -> IO Bool #
Run (InputT IO) Haskeline |
Instance details Defined in System.Console.Wizard.Haskeline Methods runAlgebra :: Haskeline (InputT IO v) -> InputT IO v #
Run (InputT IO) WithSettings |
Instance details Defined in System.Console.Wizard.Haskeline Methods runAlgebra :: WithSettings (InputT IO v) -> InputT IO v #
type PrimState IO |
Instance details Defined in Control.Monad.Primitive type PrimState IO = RealWorld
type Element (IO a) |
Instance details Defined in Data.MonoTraversable type Element (IO a) = a

newtype Const a (b :: k) #

Constructors

Const |
Fields getConst :: a

#### Instances

Instances details

Generic1 (Const a :: k -> Type) |
Instance details Defined in Data.Functor.Const Associated Types type Rep1 (Const a) :: k -> Type Methods from1 :: forall (a0 :: k0). Const a a0 -> Rep1 (Const a) a0 to1 :: forall (a0 :: k0). Rep1 (Const a) a0 -> Const a a0
Unbox a => Vector Vector (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s (Const a b) -> ST s (Vector (Const a b)) # basicUnsafeThaw :: Vector (Const a b) -> ST s (Mutable Vector s (Const a b)) # basicLength :: Vector (Const a b) -> Int # basicUnsafeSlice :: Int -> Int -> Vector (Const a b) -> Vector (Const a b) # basicUnsafeIndexM :: Vector (Const a b) -> Int -> Box (Const a b) # basicUnsafeCopy :: Mutable Vector s (Const a b) -> Vector (Const a b) -> ST s () # elemseq :: Vector (Const a b) -> Const a b -> b0 -> b0 #
Unbox a => MVector MVector (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Const a b) -> Int # basicUnsafeSlice :: Int -> Int -> MVector s (Const a b) -> MVector s (Const a b) # basicOverlaps :: MVector s (Const a b) -> MVector s (Const a b) -> Bool # basicUnsafeNew :: Int -> ST s (MVector s (Const a b)) # basicInitialize :: MVector s (Const a b) -> ST s () # basicUnsafeReplicate :: Int -> Const a b -> ST s (MVector s (Const a b)) # basicUnsafeRead :: MVector s (Const a b) -> Int -> ST s (Const a b) # basicUnsafeWrite :: MVector s (Const a b) -> Int -> Const a b -> ST s () # basicClear :: MVector s (Const a b) -> ST s () # basicSet :: MVector s (Const a b) -> Const a b -> ST s () # basicUnsafeCopy :: MVector s (Const a b) -> MVector s (Const a b) -> ST s () # basicUnsafeMove :: MVector s (Const a b) -> MVector s (Const a b) -> ST s () # basicUnsafeGrow :: MVector s (Const a b) -> Int -> ST s (MVector s (Const a b)) #
FromJSON2 (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON2 :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe b -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser (Const a b) # liftParseJSONList2 :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe b -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser [Const a b] # liftOmittedField2 :: Maybe a -> Maybe b -> Maybe (Const a b) #
ToJSON2 (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods liftToJSON2 :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> (b -> Bool) -> (b -> Value) -> ([b] -> Value) -> Const a b -> Value # liftToJSONList2 :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> (b -> Bool) -> (b -> Value) -> ([b] -> Value) -> [Const a b] -> Value # liftToEncoding2 :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> (b -> Bool) -> (b -> Encoding) -> ([b] -> Encoding) -> Const a b -> Encoding # liftToEncodingList2 :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> (b -> Bool) -> (b -> Encoding) -> ([b] -> Encoding) -> [Const a b] -> Encoding # liftOmitField2 :: (a -> Bool) -> (b -> Bool) -> Const a b -> Bool #
Bifunctor (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Bifunctor Methods bimap :: (a -> b) -> (c -> d) -> Const a c -> Const b d # first :: (a -> b) -> Const a c -> Const b c # second :: (b -> c) -> Const a b -> Const a c #
NFData2 (Const :: Type -> Type -> Type) |
Instance details Defined in Control.DeepSeq Methods liftRnf2 :: (a -> ()) -> (b -> ()) -> Const a b -> ()
Hashable2 (Const :: Type -> Type -> Type) |
Instance details Defined in Data.Hashable.Class Methods liftHashWithSalt2 :: (Int -> a -> Int) -> (Int -> b -> Int) -> Int -> Const a b -> Int #
FromJSON a => FromJSON1 (Const a :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: Maybe a0 -> (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser (Const a a0) # liftParseJSONList :: Maybe a0 -> (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser [Const a a0] # liftOmittedField :: Maybe a0 -> Maybe (Const a a0) #
ToJSON a => ToJSON1 (Const a :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a0 -> Bool) -> (a0 -> Value) -> ([a0] -> Value) -> Const a a0 -> Value # liftToJSONList :: (a0 -> Bool) -> (a0 -> Value) -> ([a0] -> Value) -> [Const a a0] -> Value # liftToEncoding :: (a0 -> Bool) -> (a0 -> Encoding) -> ([a0] -> Encoding) -> Const a a0 -> Encoding # liftToEncodingList :: (a0 -> Bool) -> (a0 -> Encoding) -> ([a0] -> Encoding) -> [Const a a0] -> Encoding # liftOmitField :: (a0 -> Bool) -> Const a a0 -> Bool #
Foldable (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods fold :: Monoid m0 => Const m m0 -> m0 foldMap :: Monoid m0 => (a -> m0) -> Const m a -> m0 foldMap' :: Monoid m0 => (a -> m0) -> Const m a -> m0 foldr :: (a -> b -> b) -> b -> Const m a -> b # foldr' :: (a -> b -> b) -> b -> Const m a -> b foldl :: (b -> a -> b) -> b -> Const m a -> b # foldl' :: (b -> a -> b) -> b -> Const m a -> b # foldr1 :: (a -> a -> a) -> Const m a -> a # foldl1 :: (a -> a -> a) -> Const m a -> a # toList :: Const m a -> [a] null :: Const m a -> Bool # length :: Const m a -> Int # elem :: Eq a => a -> Const m a -> Bool # maximum :: Ord a => Const m a -> a # minimum :: Ord a => Const m a -> a # sum :: Num a => Const m a -> a # product :: Num a => Const m a -> a #
Traversable (Const m :: Type -> Type) |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Const m a -> f (Const m b) sequenceA :: Applicative f => Const m (f a) -> f (Const m a) mapM :: Monad m0 => (a -> m0 b) -> Const m a -> m0 (Const m b) # sequence :: Monad m0 => Const m (m0 a) -> m0 (Const m a) #
Monoid m => Applicative (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods pure :: a -> Const m a # (<*>) :: Const m (a -> b) -> Const m a -> Const m b # liftA2 :: (a -> b -> c) -> Const m a -> Const m b -> Const m c # (*>) :: Const m a -> Const m b -> Const m b # (<*) :: Const m a -> Const m b -> Const m a #
Functor (Const m :: Type -> Type) |
Instance details Defined in Data.Functor.Const Methods fmap :: (a -> b) -> Const m a -> Const m b # (<$) :: a -> Const m b -> Const m a #
NFData a => NFData1 (Const a :: Type -> Type) |
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a0 -> ()) -> Const a a0 -> ()
Hashable a => Hashable1 (Const a :: Type -> Type) |
Instance details Defined in Data.Hashable.Class Methods liftHashWithSalt :: (Int -> a0 -> Int) -> Int -> Const a a0 -> Int #
Reportable (Const r :: Type -> Type) e |
Instance details Defined in Hledger.Reports.ReportOptions Methods report :: a -> Const r (Either e a) -> Const r a
FromJSON a => FromJSON (Const a b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Const a b) # parseJSONList :: Value -> Parser [Const a b] # omittedField :: Maybe (Const a b) #
(FromJSON a, FromJSONKey a) => FromJSONKey (Const a b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction (Const a b) # fromJSONKeyList :: FromJSONKeyFunction [Const a b] #
ToJSON a => ToJSON (Const a b) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Const a b -> Value # toEncoding :: Const a b -> Encoding # toJSONList :: [Const a b] -> Value # toEncodingList :: [Const a b] -> Encoding # omitField :: Const a b -> Bool #
(ToJSON a, ToJSONKey a) => ToJSONKey (Const a b) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction (Const a b) # toJSONKeyList :: ToJSONKeyFunction [Const a b] #
(Typeable k, Data a, Typeable b) => Data (Const a b) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Const a b -> c (Const a b) gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Const a b) toConstr :: Const a b -> Constr dataTypeOf :: Const a b -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Const a b)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Const a b)) gmapT :: (forall b0. Data b0 => b0 -> b0) -> Const a b -> Const a b gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Const a b -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Const a b -> r gmapQ :: (forall d. Data d => d -> u) -> Const a b -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Const a b -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Const a b -> m (Const a b)
IsString a => IsString (Const a b) |
Instance details Defined in Data.String Methods fromString :: String -> Const a b
Storable a => Storable (Const a b) |
Instance details Defined in Data.Functor.Const Methods sizeOf :: Const a b -> Int alignment :: Const a b -> Int peekElemOff :: Ptr (Const a b) -> Int -> IO (Const a b) pokeElemOff :: Ptr (Const a b) -> Int -> Const a b -> IO () peekByteOff :: Ptr b0 -> Int -> IO (Const a b) pokeByteOff :: Ptr b0 -> Int -> Const a b -> IO () peek :: Ptr (Const a b) -> IO (Const a b) poke :: Ptr (Const a b) -> Const a b -> IO ()
Monoid a => Monoid (Const a b) |
Instance details Defined in Data.Functor.Const Methods mempty :: Const a b # mappend :: Const a b -> Const a b -> Const a b # mconcat :: [Const a b] -> Const a b #
Semigroup a => Semigroup (Const a b) |
Instance details Defined in Data.Functor.Const Methods (<>) :: Const a b -> Const a b -> Const a b # sconcat :: NonEmpty (Const a b) -> Const a b # stimes :: Integral b0 => b0 -> Const a b -> Const a b #
Bits a => Bits (Const a b) |
Instance details Defined in Data.Functor.Const Methods (.&.) :: Const a b -> Const a b -> Const a b (.|.) :: Const a b -> Const a b -> Const a b xor :: Const a b -> Const a b -> Const a b complement :: Const a b -> Const a b shift :: Const a b -> Int -> Const a b rotate :: Const a b -> Int -> Const a b zeroBits :: Const a b bit :: Int -> Const a b setBit :: Const a b -> Int -> Const a b clearBit :: Const a b -> Int -> Const a b complementBit :: Const a b -> Int -> Const a b testBit :: Const a b -> Int -> Bool bitSizeMaybe :: Const a b -> Maybe Int bitSize :: Const a b -> Int isSigned :: Const a b -> Bool shiftL :: Const a b -> Int -> Const a b unsafeShiftL :: Const a b -> Int -> Const a b shiftR :: Const a b -> Int -> Const a b unsafeShiftR :: Const a b -> Int -> Const a b rotateL :: Const a b -> Int -> Const a b rotateR :: Const a b -> Int -> Const a b popCount :: Const a b -> Int
FiniteBits a => FiniteBits (Const a b) |
Instance details Defined in Data.Functor.Const Methods finiteBitSize :: Const a b -> Int countLeadingZeros :: Const a b -> Int countTrailingZeros :: Const a b -> Int
Bounded a => Bounded (Const a b) |
Instance details Defined in Data.Functor.Const Methods minBound :: Const a b maxBound :: Const a b
Enum a => Enum (Const a b) |
Instance details Defined in Data.Functor.Const Methods succ :: Const a b -> Const a b pred :: Const a b -> Const a b toEnum :: Int -> Const a b fromEnum :: Const a b -> Int enumFrom :: Const a b -> [Const a b] enumFromThen :: Const a b -> Const a b -> [Const a b] enumFromTo :: Const a b -> Const a b -> [Const a b] enumFromThenTo :: Const a b -> Const a b -> Const a b -> [Const a b]
Floating a => Floating (Const a b) |
Instance details Defined in Data.Functor.Const Methods pi :: Const a b exp :: Const a b -> Const a b log :: Const a b -> Const a b sqrt :: Const a b -> Const a b (**) :: Const a b -> Const a b -> Const a b logBase :: Const a b -> Const a b -> Const a b sin :: Const a b -> Const a b cos :: Const a b -> Const a b tan :: Const a b -> Const a b asin :: Const a b -> Const a b acos :: Const a b -> Const a b atan :: Const a b -> Const a b sinh :: Const a b -> Const a b cosh :: Const a b -> Const a b tanh :: Const a b -> Const a b asinh :: Const a b -> Const a b acosh :: Const a b -> Const a b atanh :: Const a b -> Const a b log1p :: Const a b -> Const a b # expm1 :: Const a b -> Const a b # log1pexp :: Const a b -> Const a b log1mexp :: Const a b -> Const a b
RealFloat a => RealFloat (Const a b) |
Instance details Defined in Data.Functor.Const Methods floatRadix :: Const a b -> Integer floatDigits :: Const a b -> Int floatRange :: Const a b -> (Int, Int) decodeFloat :: Const a b -> (Integer, Int) encodeFloat :: Integer -> Int -> Const a b exponent :: Const a b -> Int significand :: Const a b -> Const a b scaleFloat :: Int -> Const a b -> Const a b isNaN :: Const a b -> Bool isInfinite :: Const a b -> Bool isDenormalized :: Const a b -> Bool isNegativeZero :: Const a b -> Bool isIEEE :: Const a b -> Bool atan2 :: Const a b -> Const a b -> Const a b
Generic (Const a b) |
Instance details Defined in Data.Functor.Const Associated Types type Rep (Const a b) :: Type -> Type Methods from :: Const a b -> Rep (Const a b) x to :: Rep (Const a b) x -> Const a b
Ix a => Ix (Const a b) |
Instance details Defined in Data.Functor.Const Methods range :: (Const a b, Const a b) -> [Const a b] index :: (Const a b, Const a b) -> Const a b -> Int unsafeIndex :: (Const a b, Const a b) -> Const a b -> Int inRange :: (Const a b, Const a b) -> Const a b -> Bool rangeSize :: (Const a b, Const a b) -> Int unsafeRangeSize :: (Const a b, Const a b) -> Int
Num a => Num (Const a b) |
Instance details Defined in Data.Functor.Const Methods (+) :: Const a b -> Const a b -> Const a b (-) :: Const a b -> Const a b -> Const a b (*) :: Const a b -> Const a b -> Const a b negate :: Const a b -> Const a b abs :: Const a b -> Const a b signum :: Const a b -> Const a b fromInteger :: Integer -> Const a b
Read a => Read (Const a b) |
Instance details Defined in Data.Functor.Const Methods readsPrec :: Int -> ReadS (Const a b) # readList :: ReadS [Const a b] # readPrec :: ReadPrec (Const a b) # readListPrec :: ReadPrec [Const a b] #
Fractional a => Fractional (Const a b) |
Instance details Defined in Data.Functor.Const Methods (/) :: Const a b -> Const a b -> Const a b recip :: Const a b -> Const a b fromRational :: Rational -> Const a b
Integral a => Integral (Const a b) |
Instance details Defined in Data.Functor.Const Methods quot :: Const a b -> Const a b -> Const a b rem :: Const a b -> Const a b -> Const a b div :: Const a b -> Const a b -> Const a b mod :: Const a b -> Const a b -> Const a b quotRem :: Const a b -> Const a b -> (Const a b, Const a b) divMod :: Const a b -> Const a b -> (Const a b, Const a b) toInteger :: Const a b -> Integer
Real a => Real (Const a b) |
Instance details Defined in Data.Functor.Const Methods toRational :: Const a b -> Rational
RealFrac a => RealFrac (Const a b) |
Instance details Defined in Data.Functor.Const Methods properFraction :: Integral b0 => Const a b -> (b0, Const a b) truncate :: Integral b0 => Const a b -> b0 round :: Integral b0 => Const a b -> b0 ceiling :: Integral b0 => Const a b -> b0 floor :: Integral b0 => Const a b -> b0
Show a => Show (Const a b) |
Instance details Defined in Data.Functor.Const Methods showsPrec :: Int -> Const a b -> ShowS show :: Const a b -> String showList :: [Const a b] -> ShowS
NFData a => NFData (Const a b) |
Instance details Defined in Control.DeepSeq Methods rnf :: Const a b -> ()
Eq a => Eq (Const a b) |
Instance details Defined in Data.Functor.Const Methods (==) :: Const a b -> Const a b -> Bool (/=) :: Const a b -> Const a b -> Bool
Ord a => Ord (Const a b) |
Instance details Defined in Data.Functor.Const Methods compare :: Const a b -> Const a b -> Ordering # (<) :: Const a b -> Const a b -> Bool # (<=) :: Const a b -> Const a b -> Bool # (>) :: Const a b -> Const a b -> Bool # (>=) :: Const a b -> Const a b -> Bool # max :: Const a b -> Const a b -> Const a b # min :: Const a b -> Const a b -> Const a b #
Hashable a => Hashable (Const a b) |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Const a b -> Int # hash :: Const a b -> Int #
MonoFoldable (Const m a) |
Instance details Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m0 => (Element (Const m a) -> m0) -> Const m a -> m0 # ofoldr :: (Element (Const m a) -> b -> b) -> b -> Const m a -> b # ofoldl' :: (a0 -> Element (Const m a) -> a0) -> a0 -> Const m a -> a0 # otoList :: Const m a -> [Element (Const m a)] # oall :: (Element (Const m a) -> Bool) -> Const m a -> Bool # oany :: (Element (Const m a) -> Bool) -> Const m a -> Bool # onull :: Const m a -> Bool # olength :: Const m a -> Int # olength64 :: Const m a -> Int64 # ocompareLength :: Integral i => Const m a -> i -> Ordering # otraverse_ :: Applicative f => (Element (Const m a) -> f b) -> Const m a -> f () # ofor_ :: Applicative f => Const m a -> (Element (Const m a) -> f b) -> f () # omapM_ :: Applicative m0 => (Element (Const m a) -> m0 ()) -> Const m a -> m0 () # oforM_ :: Applicative m0 => Const m a -> (Element (Const m a) -> m0 ()) -> m0 () # ofoldlM :: Monad m0 => (a0 -> Element (Const m a) -> m0 a0) -> a0 -> Const m a -> m0 a0 # ofoldMap1Ex :: Semigroup m0 => (Element (Const m a) -> m0) -> Const m a -> m0 # ofoldr1Ex :: (Element (Const m a) -> Element (Const m a) -> Element (Const m a)) -> Const m a -> Element (Const m a) # ofoldl1Ex' :: (Element (Const m a) -> Element (Const m a) -> Element (Const m a)) -> Const m a -> Element (Const m a) # headEx :: Const m a -> Element (Const m a) # lastEx :: Const m a -> Element (Const m a) # unsafeHead :: Const m a -> Element (Const m a) # unsafeLast :: Const m a -> Element (Const m a) # maximumByEx :: (Element (Const m a) -> Element (Const m a) -> Ordering) -> Const m a -> Element (Const m a) # minimumByEx :: (Element (Const m a) -> Element (Const m a) -> Ordering) -> Const m a -> Element (Const m a) # oelem :: Element (Const m a) -> Const m a -> Bool # onotElem :: Element (Const m a) -> Const m a -> Bool #
MonoFunctor (Const m a) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (Const m a) -> Element (Const m a)) -> Const m a -> Const m a #
Monoid m => MonoPointed (Const m a) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (Const m a) -> Const m a #
MonoTraversable (Const m a) |
Instance details Defined in Data.MonoTraversable Methods otraverse :: Applicative f => (Element (Const m a) -> f (Element (Const m a))) -> Const m a -> f (Const m a) # omapM :: Applicative m0 => (Element (Const m a) -> m0 (Element (Const m a))) -> Const m a -> m0 (Const m a) #
Pretty a => Pretty (Const a b) |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Const a b -> Doc ann # prettyList :: [Const a b] -> Doc ann #
Unbox a => Unbox (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base
type Rep1 (Const a :: k -> Type) |
Instance details Defined in Data.Functor.Const type Rep1 (Const a :: k -> Type) = D1 ('MetaData "Const" "Data.Functor.Const" "base" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
newtype MVector s (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s (Const a b) = MV_Const (MVector s a)
type Rep (Const a b) |
Instance details Defined in Data.Functor.Const type Rep (Const a b) = D1 ('MetaData "Const" "Data.Functor.Const" "base" 'True) (C1 ('MetaCons "Const" 'PrefixI 'True) (S1 ('MetaSel ('Just "getConst") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type Element (Const m a) |
Instance details Defined in Data.MonoTraversable type Element (Const m a) = a
newtype Vector (Const a b) |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector (Const a b) = V_Const (Vector a)

class Applicative f => Alternative (f :: Type -> Type) where #

Minimal complete definition

empty, (<|>)

Methods

empty :: f a #

(<|>) :: f a -> f a -> f a #

some :: f a -> f [a] #

many :: f a -> f [a] #

#### Instances

Instances details

Alternative IResult |
Instance details Defined in Data.Aeson.Types.Internal Methods empty :: IResult a # (<|>) :: IResult a -> IResult a -> IResult a # some :: IResult a -> IResult [a] # many :: IResult a -> IResult [a] #
Alternative Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods empty :: Parser a # (<|>) :: Parser a -> Parser a -> Parser a # some :: Parser a -> Parser [a] # many :: Parser a -> Parser [a] #
Alternative Result |
Instance details Defined in Data.Aeson.Types.Internal Methods empty :: Result a # (<|>) :: Result a -> Result a -> Result a # some :: Result a -> Result [a] # many :: Result a -> Result [a] #
Alternative ZipList |
Instance details Defined in Control.Applicative Methods empty :: ZipList a # (<|>) :: ZipList a -> ZipList a -> ZipList a # some :: ZipList a -> ZipList [a] # many :: ZipList a -> ZipList [a] #
Alternative STM |
Instance details Defined in GHC.Conc.Sync Methods empty :: STM a # (<|>) :: STM a -> STM a -> STM a # some :: STM a -> STM [a] # many :: STM a -> STM [a] #
Alternative P |
Instance details Defined in Text.ParserCombinators.ReadP Methods empty :: P a # (<|>) :: P a -> P a -> P a # some :: P a -> P [a] # many :: P a -> P [a] #
Alternative ReadP |
Instance details Defined in Text.ParserCombinators.ReadP Methods empty :: ReadP a # (<|>) :: ReadP a -> ReadP a -> ReadP a # some :: ReadP a -> ReadP [a] # many :: ReadP a -> ReadP [a] #
Alternative ReadPrec |
Instance details Defined in Text.ParserCombinators.ReadPrec Methods empty :: ReadPrec a # (<|>) :: ReadPrec a -> ReadPrec a -> ReadPrec a # some :: ReadPrec a -> ReadPrec [a] # many :: ReadPrec a -> ReadPrec [a] #
Alternative Seq |
Instance details Defined in Data.Sequence.Internal Methods empty :: Seq a # (<|>) :: Seq a -> Seq a -> Seq a # some :: Seq a -> Seq [a] # many :: Seq a -> Seq [a] #
Alternative DList |
Instance details Defined in Data.DList.Internal Methods empty :: DList a # (<|>) :: DList a -> DList a -> DList a # some :: DList a -> DList [a] # many :: DList a -> DList [a] #
Alternative IO |
Instance details Defined in GHC.Base Methods empty :: IO a # (<|>) :: IO a -> IO a -> IO a # some :: IO a -> IO [a] # many :: IO a -> IO [a] #
Alternative Root |
Instance details Defined in Numeric.RootFinding Methods empty :: Root a # (<|>) :: Root a -> Root a -> Root a # some :: Root a -> Root [a] # many :: Root a -> Root [a] #
Alternative Array |
Instance details Defined in Data.Primitive.Array Methods empty :: Array a # (<|>) :: Array a -> Array a -> Array a # some :: Array a -> Array [a] # many :: Array a -> Array [a] #
Alternative SmallArray |
Instance details Defined in Data.Primitive.SmallArray Methods empty :: SmallArray a # (<|>) :: SmallArray a -> SmallArray a -> SmallArray a # some :: SmallArray a -> SmallArray [a] # many :: SmallArray a -> SmallArray [a] #
Alternative Capability |
Instance details Defined in System.Console.Terminfo.Base Methods empty :: Capability a # (<|>) :: Capability a -> Capability a -> Capability a # some :: Capability a -> Capability [a] # many :: Capability a -> Capability [a] #
Alternative Vector |
Instance details Defined in Data.Vector Methods empty :: Vector a # (<|>) :: Vector a -> Vector a -> Vector a # some :: Vector a -> Vector [a] # many :: Vector a -> Vector [a] #
Alternative Maybe |
Instance details Defined in GHC.Base Methods empty :: Maybe a # (<|>) :: Maybe a -> Maybe a -> Maybe a # some :: Maybe a -> Maybe [a] # many :: Maybe a -> Maybe [a] #
Alternative List |
Instance details Defined in GHC.Base Methods empty :: [a] # (<|>) :: [a] -> [a] -> [a] # some :: [a] -> [[a]] # many :: [a] -> [[a]] #
Alternative (Parser i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods empty :: Parser i a # (<|>) :: Parser i a -> Parser i a -> Parser i a # some :: Parser i a -> Parser i [a] # many :: Parser i a -> Parser i [a] #
MonadPlus m => Alternative (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods empty :: WrappedMonad m a # (<|>) :: WrappedMonad m a -> WrappedMonad m a -> WrappedMonad m a # some :: WrappedMonad m a -> WrappedMonad m [a] # many :: WrappedMonad m a -> WrappedMonad m [a] #
ArrowPlus a => Alternative (ArrowMonad a) |
Instance details Defined in Control.Arrow Methods empty :: ArrowMonad a a0 # (<|>) :: ArrowMonad a a0 -> ArrowMonad a a0 -> ArrowMonad a a0 # some :: ArrowMonad a a0 -> ArrowMonad a [a0] # many :: ArrowMonad a a0 -> ArrowMonad a [a0] #
Alternative (U1 :: Type -> Type) |
Instance details Defined in GHC.Generics Methods empty :: U1 a # (<|>) :: U1 a -> U1 a -> U1 a # some :: U1 a -> U1 [a] # many :: U1 a -> U1 [a] #
Alternative m => Alternative (ResourceT m) | Since 1.1.5
Instance details Defined in Control.Monad.Trans.Resource.Internal Methods empty :: ResourceT m a # (<|>) :: ResourceT m a -> ResourceT m a -> ResourceT m a # some :: ResourceT m a -> ResourceT m [a] # many :: ResourceT m a -> ResourceT m [a] #
Alternative f => Alternative (Lift f) |
Instance details Defined in Control.Applicative.Lift Methods empty :: Lift f a # (<|>) :: Lift f a -> Lift f a -> Lift f a # some :: Lift f a -> Lift f [a] # many :: Lift f a -> Lift f [a] #
(Functor m, Monad m) => Alternative (MaybeT m) |
Instance details Defined in Control.Monad.Trans.Maybe Methods empty :: MaybeT m a # (<|>) :: MaybeT m a -> MaybeT m a -> MaybeT m a # some :: MaybeT m a -> MaybeT m [a] # many :: MaybeT m a -> MaybeT m [a] #
Functor backend => Alternative (Wizard backend) |
Instance details Defined in System.Console.Wizard.Internal Methods empty :: Wizard backend a # (<|>) :: Wizard backend a -> Wizard backend a -> Wizard backend a # some :: Wizard backend a -> Wizard backend [a] # many :: Wizard backend a -> Wizard backend [a] #
(ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b) |
Instance details Defined in Control.Applicative Methods empty :: WrappedArrow a b a0 # (<|>) :: WrappedArrow a b a0 -> WrappedArrow a b a0 -> WrappedArrow a b a0 # some :: WrappedArrow a b a0 -> WrappedArrow a b [a0] # many :: WrappedArrow a b a0 -> WrappedArrow a b [a0] #
Alternative m => Alternative (Kleisli m a) |
Instance details Defined in Control.Arrow Methods empty :: Kleisli m a a0 # (<|>) :: Kleisli m a a0 -> Kleisli m a a0 -> Kleisli m a a0 # some :: Kleisli m a a0 -> Kleisli m a [a0] # many :: Kleisli m a a0 -> Kleisli m a [a0] #
Alternative f => Alternative (Alt f) |
Instance details Defined in Data.Semigroup.Internal Methods empty :: Alt f a # (<|>) :: Alt f a -> Alt f a -> Alt f a # some :: Alt f a -> Alt f [a] # many :: Alt f a -> Alt f [a] #
(Generic1 f, Alternative (Rep1 f)) => Alternative (Generically1 f) |
Instance details Defined in GHC.Generics Methods empty :: Generically1 f a # (<|>) :: Generically1 f a -> Generically1 f a -> Generically1 f a # some :: Generically1 f a -> Generically1 f [a] # many :: Generically1 f a -> Generically1 f [a] #
Alternative f => Alternative (Rec1 f) |
Instance details Defined in GHC.Generics Methods empty :: Rec1 f a # (<|>) :: Rec1 f a -> Rec1 f a -> Rec1 f a # some :: Rec1 f a -> Rec1 f [a] # many :: Rec1 f a -> Rec1 f [a] #
(Functor f, Functor m, Monad m, MonadPlus m) => Alternative (FreeT f m) |
Instance details Defined in Control.Monad.Free Methods empty :: FreeT f m a # (<|>) :: FreeT f m a -> FreeT f m a -> FreeT f m a # some :: FreeT f m a -> FreeT f m [a] # many :: FreeT f m a -> FreeT f m [a] #
Alternative f => Alternative (Backwards f) |
Instance details Defined in Control.Applicative.Backwards Methods empty :: Backwards f a # (<|>) :: Backwards f a -> Backwards f a -> Backwards f a # some :: Backwards f a -> Backwards f [a] # many :: Backwards f a -> Backwards f [a] #
(Functor m, Monad m, Monoid e) => Alternative (ExceptT e m) |
Instance details Defined in Control.Monad.Trans.Except Methods empty :: ExceptT e m a # (<|>) :: ExceptT e m a -> ExceptT e m a -> ExceptT e m a # some :: ExceptT e m a -> ExceptT e m [a] # many :: ExceptT e m a -> ExceptT e m [a] #
Alternative m => Alternative (IdentityT m) |
Instance details Defined in Control.Monad.Trans.Identity Methods empty :: IdentityT m a # (<|>) :: IdentityT m a -> IdentityT m a -> IdentityT m a # some :: IdentityT m a -> IdentityT m [a] # many :: IdentityT m a -> IdentityT m [a] #
Alternative m => Alternative (ReaderT r m) |
Instance details Defined in Control.Monad.Trans.Reader Methods empty :: ReaderT r m a # (<|>) :: ReaderT r m a -> ReaderT r m a -> ReaderT r m a # some :: ReaderT r m a -> ReaderT r m [a] # many :: ReaderT r m a -> ReaderT r m [a] #
(Functor m, MonadPlus m) => Alternative (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Lazy Methods empty :: StateT s m a # (<|>) :: StateT s m a -> StateT s m a -> StateT s m a # some :: StateT s m a -> StateT s m [a] # many :: StateT s m a -> StateT s m [a] #
(Functor m, MonadPlus m) => Alternative (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Strict Methods empty :: StateT s m a # (<|>) :: StateT s m a -> StateT s m a -> StateT s m a # some :: StateT s m a -> StateT s m [a] # many :: StateT s m a -> StateT s m [a] #
(Monoid w, Alternative m) => Alternative (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods empty :: WriterT w m a # (<|>) :: WriterT w m a -> WriterT w m a -> WriterT w m a # some :: WriterT w m a -> WriterT w m [a] # many :: WriterT w m a -> WriterT w m [a] #
(Monoid w, Alternative m) => Alternative (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods empty :: WriterT w m a # (<|>) :: WriterT w m a -> WriterT w m a -> WriterT w m a # some :: WriterT w m a -> WriterT w m [a] # many :: WriterT w m a -> WriterT w m [a] #
Alternative f => Alternative (Reverse f) |
Instance details Defined in Data.Functor.Reverse Methods empty :: Reverse f a # (<|>) :: Reverse f a -> Reverse f a -> Reverse f a # some :: Reverse f a -> Reverse f [a] # many :: Reverse f a -> Reverse f [a] #
(Alternative f, Alternative g) => Alternative (f :*: g) |
Instance details Defined in GHC.Generics Methods empty :: (f :*: g) a # (<|>) :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a # some :: (f :*: g) a -> (f :*: g) [a] # many :: (f :*: g) a -> (f :*: g) [a] #
(Ord e, Stream s) => Alternative (ParsecT e s m) | `empty` is a parser that fails without consuming input.
Instance details Defined in Text.Megaparsec.Internal Methods empty :: ParsecT e s m a # (<|>) :: ParsecT e s m a -> ParsecT e s m a -> ParsecT e s m a # some :: ParsecT e s m a -> ParsecT e s m [a] # many :: ParsecT e s m a -> ParsecT e s m [a] #
(Alternative f, Applicative g) => Alternative (Compose f g) |
Instance details Defined in Data.Functor.Compose Methods empty :: Compose f g a # (<|>) :: Compose f g a -> Compose f g a -> Compose f g a # some :: Compose f g a -> Compose f g [a] # many :: Compose f g a -> Compose f g [a] #
(Alternative f, Applicative g) => Alternative (f :.: g) |
Instance details Defined in GHC.Generics Methods empty :: (f :.: g) a # (<|>) :: (f :.: g) a -> (f :.: g) a -> (f :.: g) a # some :: (f :.: g) a -> (f :.: g) [a] # many :: (f :.: g) a -> (f :.: g) [a] #
Alternative f => Alternative (M1 i c f) |
Instance details Defined in GHC.Generics Methods empty :: M1 i c f a # (<|>) :: M1 i c f a -> M1 i c f a -> M1 i c f a # some :: M1 i c f a -> M1 i c f [a] # many :: M1 i c f a -> M1 i c f [a] #
(Monoid w, Functor m, MonadPlus m) => Alternative (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy Methods empty :: RWST r w s m a # (<|>) :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a # some :: RWST r w s m a -> RWST r w s m [a] # many :: RWST r w s m a -> RWST r w s m [a] #
(Monoid w, Functor m, MonadPlus m) => Alternative (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Strict Methods empty :: RWST r w s m a # (<|>) :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a # some :: RWST r w s m a -> RWST r w s m [a] # many :: RWST r w s m a -> RWST r w s m [a] #

data Text #

#### Instances

Instances details

FromJSON Text |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Text # parseJSONList :: Value -> Parser [Text] # omittedField :: Maybe Text #
FromJSONKey Text |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Text # fromJSONKeyList :: FromJSONKeyFunction [Text] #
ToJSON Text |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Text -> Value # toEncoding :: Text -> Encoding # toJSONList :: [Text] -> Value # toEncodingList :: [Text] -> Encoding # omitField :: Text -> Bool #
ToJSONKey Text |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Text # toJSONKeyList :: ToJSONKeyFunction [Text] #
Chunk Text |
Instance details Defined in Data.Attoparsec.Internal.Types Associated Types type ChunkElem Text # Methods nullChunk :: Text -> Bool # pappendChunk :: State Text -> Text -> State Text # atBufferEnd :: Text -> State Text -> Pos # bufferElemAt :: Text -> Pos -> State Text -> Maybe (ChunkElem Text, Int) # chunkElemToChar :: Text -> ChunkElem Text -> Char #
Show CsvRules |
Instance details Defined in Hledger.Read.RulesReader Methods showsPrec :: Int -> CsvRules -> ShowS show :: CsvRules -> String showList :: [CsvRules] -> ShowS
HasChars Text |
Instance details Defined in Text.DocLayout Methods foldrChar :: (Char -> b -> b) -> b -> Text -> b # foldlChar :: (b -> Char -> b) -> b -> Text -> b # replicateChar :: Int -> Char -> Text # isNull :: Text -> Bool # splitLines :: Text -> [Text] #
Eq CsvRules |
Instance details Defined in Hledger.Read.RulesReader Methods (==) :: CsvRules -> CsvRules -> Bool (/=) :: CsvRules -> CsvRules -> Bool
Hashable Text |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Text -> Int # hash :: Text -> Int #
Anon Text # |
Instance details Defined in Hledger.Cli.Anon Methods anon :: Text -> Text #
ToHtml Text |
Instance details Defined in Lucid.Base Methods toHtml :: forall (m :: Type -> Type). Monad m => Text -> HtmlT m () # toHtmlRaw :: forall (m :: Type -> Type). Monad m => Text -> HtmlT m () #
Stream Text |
Instance details Defined in Text.Megaparsec.Stream Associated Types type Token Text # type Tokens Text # Methods tokenToChunk :: Proxy Text -> Token Text -> Tokens Text # tokensToChunk :: Proxy Text -> [Token Text] -> Tokens Text # chunkToTokens :: Proxy Text -> Tokens Text -> [Token Text] # chunkLength :: Proxy Text -> Tokens Text -> Int # chunkEmpty :: Proxy Text -> Tokens Text -> Bool # take1_ :: Text -> Maybe (Token Text, Text) # takeN_ :: Int -> Text -> Maybe (Tokens Text, Text) # takeWhile_ :: (Token Text -> Bool) -> Text -> (Tokens Text, Text) #
TraversableStream Text |
Instance details Defined in Text.Megaparsec.Stream Methods reachOffset :: Int -> PosState Text -> (Maybe String, PosState Text) # reachOffsetNoLine :: Int -> PosState Text -> PosState Text #
VisualStream Text |
Instance details Defined in Text.Megaparsec.Stream Methods showTokens :: Proxy Text -> NonEmpty (Token Text) -> String # tokensLength :: Proxy Text -> NonEmpty (Token Text) -> Int #
GrowingAppend Text |
Instance details Defined in Data.MonoTraversable
MonoFoldable Text |
Instance details Defined in Data.MonoTraversable Methods ofoldMap :: Monoid m => (Element Text -> m) -> Text -> m # ofoldr :: (Element Text -> b -> b) -> b -> Text -> b # ofoldl' :: (a -> Element Text -> a) -> a -> Text -> a # otoList :: Text -> [Element Text] # oall :: (Element Text -> Bool) -> Text -> Bool # oany :: (Element Text -> Bool) -> Text -> Bool # onull :: Text -> Bool # olength :: Text -> Int # olength64 :: Text -> Int64 # ocompareLength :: Integral i => Text -> i -> Ordering # otraverse_ :: Applicative f => (Element Text -> f b) -> Text -> f () # ofor_ :: Applicative f => Text -> (Element Text -> f b) -> f () # omapM_ :: Applicative m => (Element Text -> m ()) -> Text -> m () # oforM_ :: Applicative m => Text -> (Element Text -> m ()) -> m () # ofoldlM :: Monad m => (a -> Element Text -> m a) -> a -> Text -> m a # ofoldMap1Ex :: Semigroup m => (Element Text -> m) -> Text -> m # ofoldr1Ex :: (Element Text -> Element Text -> Element Text) -> Text -> Element Text # ofoldl1Ex' :: (Element Text -> Element Text -> Element Text) -> Text -> Element Text # headEx :: Text -> Element Text # lastEx :: Text -> Element Text # unsafeHead :: Text -> Element Text # unsafeLast :: Text -> Element Text # maximumByEx :: (Element Text -> Element Text -> Ordering) -> Text -> Element Text # minimumByEx :: (Element Text -> Element Text -> Ordering) -> Text -> Element Text # oelem :: Element Text -> Text -> Bool # onotElem :: Element Text -> Text -> Bool #
MonoFunctor Text |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element Text -> Element Text) -> Text -> Text #
MonoPointed Text |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element Text -> Text #
MonoTraversable Text |
Instance details Defined in Data.MonoTraversable Methods otraverse :: Applicative f => (Element Text -> f (Element Text)) -> Text -> f Text # omapM :: Applicative m => (Element Text -> m (Element Text)) -> Text -> m Text #
IsSequence Text |
Instance details Defined in Data.Sequences Methods fromList :: [Element Text] -> Text # lengthIndex :: Text -> Index Text # break :: (Element Text -> Bool) -> Text -> (Text, Text) # span :: (Element Text -> Bool) -> Text -> (Text, Text) # dropWhile :: (Element Text -> Bool) -> Text -> Text # takeWhile :: (Element Text -> Bool) -> Text -> Text # splitAt :: Index Text -> Text -> (Text, Text) # unsafeSplitAt :: Index Text -> Text -> (Text, Text) # take :: Index Text -> Text -> Text # unsafeTake :: Index Text -> Text -> Text # drop :: Index Text -> Text -> Text # unsafeDrop :: Index Text -> Text -> Text # dropEnd :: Index Text -> Text -> Text # partition :: (Element Text -> Bool) -> Text -> (Text, Text) # uncons :: Text -> Maybe (Element Text, Text) # unsnoc :: Text -> Maybe (Text, Element Text) # filter :: (Element Text -> Bool) -> Text -> Text # filterM :: Monad m => (Element Text -> m Bool) -> Text -> m Text # replicate :: Index Text -> Element Text -> Text # replicateM :: Monad m => Index Text -> m (Element Text) -> m Text # groupBy :: (Element Text -> Element Text -> Bool) -> Text -> [Text] # groupAllOn :: Eq b => (Element Text -> b) -> Text -> [Text] # subsequences :: Text -> [Text] # permutations :: Text -> [Text] # tailEx :: Text -> Text # tailMay :: Text -> Maybe Text # initEx :: Text -> Text # initMay :: Text -> Maybe Text # unsafeTail :: Text -> Text # unsafeInit :: Text -> Text # index :: Text -> Index Text -> Maybe (Element Text) # indexEx :: Text -> Index Text -> Element Text # unsafeIndex :: Text -> Index Text -> Element Text # splitWhen :: (Element Text -> Bool) -> Text -> [Text] #
SemiSequence Text |
Instance details Defined in Data.Sequences Associated Types type Index Text # Methods intersperse :: Element Text -> Text -> Text # reverse :: Text -> Text # find :: (Element Text -> Bool) -> Text -> Maybe (Element Text) # sortBy :: (Element Text -> Element Text -> Ordering) -> Text -> Text # cons :: Element Text -> Text -> Text # snoc :: Text -> Element Text -> Text #
Textual Text |
Instance details Defined in Data.Sequences Methods words :: Text -> [Text] # unwords :: (Element seq ~ Text, MonoFoldable seq) => seq -> Text # lines :: Text -> [Text] # unlines :: (Element seq ~ Text, MonoFoldable seq) => seq -> Text # toLower :: Text -> Text # toUpper :: Text -> Text # toCaseFold :: Text -> Text # breakWord :: Text -> (Text, Text) # breakLine :: Text -> (Text, Text) #
Pretty Text | Automatically converts all newlines to ``line``.
    >>> pretty ("hello\nworld" :: Text)
    hello
    world
Note that ``line`` can be undone by ``group``:
    >>> group (pretty ("hello\nworld" :: Text))
    hello world
Manually use ``hardline`` if you definitely want newlines.
Instance details Defined in Prettyprinter.Internal Methods pretty :: Text -> Doc ann # prettyList :: [Text] -> Doc ann #
Extract Text | Since: regex-base-0.94.0.0
Instance details Defined in Text.Regex.Base.RegexLike Methods before :: Int -> Text -> Text # after :: Int -> Text -> Text # empty :: Text # extract :: (Int, Int) -> Text -> Text #
Term Text Attribute | Some terms (like `style_`, `title_`) can be used for attributes as well as elements.
Instance details Defined in Lucid.Base Methods term :: Text -> Text -> Attribute # termWith :: Text -> [Attribute] -> Text -> Attribute #
TermRaw Text Attribute | Some termRaws (like `style_`, `title_`) can be used for attributes as well as elements.
Instance details Defined in Lucid.Base Methods termRaw :: Text -> Text -> Attribute # termRawWith :: Text -> [Attribute] -> Text -> Attribute #
LazySequence Text Text |
Instance details Defined in Data.Sequences Methods toChunks :: Text -> [Text0] # fromChunks :: [Text0] -> Text # toStrict :: Text -> Text0 # fromStrict :: Text0 -> Text #
Utf8 Text ByteString |
Instance details Defined in Data.Sequences Methods encodeUtf8 :: Text -> ByteString # decodeUtf8 :: ByteString -> Text #
(Monad m, a ~ ()) => TermRaw Text (HtmlT m a) | Given children immediately, just use that and expect no attributes.
Instance details Defined in Lucid.Base Methods termRaw :: Text -> Text -> HtmlT m a # termRawWith :: Text -> [Attribute] -> Text -> HtmlT m a #
Stream (NoShareInput Text) |
Instance details Defined in Text.Megaparsec.Stream Associated Types type Token (NoShareInput Text) # type Tokens (NoShareInput Text) # Methods tokenToChunk :: Proxy (NoShareInput Text) -> Token (NoShareInput Text) -> Tokens (NoShareInput Text) # tokensToChunk :: Proxy (NoShareInput Text) -> [Token (NoShareInput Text)] -> Tokens (NoShareInput Text) # chunkToTokens :: Proxy (NoShareInput Text) -> Tokens (NoShareInput Text) -> [Token (NoShareInput Text)] # chunkLength :: Proxy (NoShareInput Text) -> Tokens (NoShareInput Text) -> Int # chunkEmpty :: Proxy (NoShareInput Text) -> Tokens (NoShareInput Text) -> Bool # take1_ :: NoShareInput Text -> Maybe (Token (NoShareInput Text), NoShareInput Text) # takeN_ :: Int -> NoShareInput Text -> Maybe (Tokens (NoShareInput Text), NoShareInput Text) # takeWhile_ :: (Token (NoShareInput Text) -> Bool) -> NoShareInput Text -> (Tokens (NoShareInput Text), NoShareInput Text) #
Stream (ShareInput Text) |
Instance details Defined in Text.Megaparsec.Stream Associated Types type Token (ShareInput Text) # type Tokens (ShareInput Text) # Methods tokenToChunk :: Proxy (ShareInput Text) -> Token (ShareInput Text) -> Tokens (ShareInput Text) # tokensToChunk :: Proxy (ShareInput Text) -> [Token (ShareInput Text)] -> Tokens (ShareInput Text) # chunkToTokens :: Proxy (ShareInput Text) -> Tokens (ShareInput Text) -> [Token (ShareInput Text)] # chunkLength :: Proxy (ShareInput Text) -> Tokens (ShareInput Text) -> Int # chunkEmpty :: Proxy (ShareInput Text) -> Tokens (ShareInput Text) -> Bool # take1_ :: ShareInput Text -> Maybe (Token (ShareInput Text), ShareInput Text) # takeN_ :: Int -> ShareInput Text -> Maybe (Tokens (ShareInput Text), ShareInput Text) # takeWhile_ :: (Token (ShareInput Text) -> Bool) -> ShareInput Text -> (Tokens (ShareInput Text), ShareInput Text) #
Ord (ParseError Text HledgerParseErrorData) |
Instance details Defined in Text.Megaparsec.Custom Methods compare :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Ordering # (<) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (<=) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (>) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (>=) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # max :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData # min :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData #
HasAmounts b => HasAmounts (Text, PeriodicReport a b, Bool) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> (Text, PeriodicReport a b, Bool) -> (Text, PeriodicReport a b, Bool) #
type ChunkElem Text |
Instance details Defined in Data.Attoparsec.Internal.Types type ChunkElem Text = Char
type State Text |
Instance details Defined in Data.Attoparsec.Internal.Types type State Text = Buffer
type Item Text |
Instance details Defined in Data.Text type Item Text = Char
type Token Text |
Instance details Defined in Text.Megaparsec.Stream type Token Text = Token (ShareInput Text)
type Tokens Text |
Instance details Defined in Text.Megaparsec.Stream type Tokens Text = Tokens (ShareInput Text)
type Element Text |
Instance details Defined in Data.MonoTraversable type Element Text = Char
type Index Text |
Instance details Defined in Data.Sequences type Index Text = Int
type Token (NoShareInput Text) |
Instance details Defined in Text.Megaparsec.Stream type Token (NoShareInput Text) = Char
type Token (ShareInput Text) |
Instance details Defined in Text.Megaparsec.Stream type Token (ShareInput Text) = Char
type Tokens (NoShareInput Text) |
Instance details Defined in Text.Megaparsec.Stream type Tokens (NoShareInput Text) = Text
type Tokens (ShareInput Text) |
Instance details Defined in Text.Megaparsec.Stream type Tokens (ShareInput Text) = Text

data UTCTime #

Constructors

UTCTime |
Fields utctDay :: Day utctDayTime :: DiffTime

#### Instances

Instances details

FromJSON UTCTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser UTCTime # parseJSONList :: Value -> Parser [UTCTime] # omittedField :: Maybe UTCTime #
FromJSONKey UTCTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction UTCTime # fromJSONKeyList :: FromJSONKeyFunction [UTCTime] #
ToJSON UTCTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: UTCTime -> Value # toEncoding :: UTCTime -> Encoding # toJSONList :: [UTCTime] -> Value # toEncodingList :: [UTCTime] -> Encoding # omitField :: UTCTime -> Bool #
ToJSONKey UTCTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction UTCTime # toJSONKeyList :: ToJSONKeyFunction [UTCTime] #
Data UTCTime |
Instance details Defined in Data.Time.Clock.Internal.UTCTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UTCTime -> c UTCTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UTCTime toConstr :: UTCTime -> Constr dataTypeOf :: UTCTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UTCTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UTCTime) gmapT :: (forall b. Data b => b -> b) -> UTCTime -> UTCTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r gmapQ :: (forall d. Data d => d -> u) -> UTCTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> UTCTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime
NFData UTCTime |
Instance details Defined in Data.Time.Clock.Internal.UTCTime Methods rnf :: UTCTime -> ()
Eq UTCTime |
Instance details Defined in Data.Time.Clock.Internal.UTCTime Methods (==) :: UTCTime -> UTCTime -> Bool (/=) :: UTCTime -> UTCTime -> Bool
Ord UTCTime |
Instance details Defined in Data.Time.Clock.Internal.UTCTime Methods compare :: UTCTime -> UTCTime -> Ordering # (<) :: UTCTime -> UTCTime -> Bool # (<=) :: UTCTime -> UTCTime -> Bool # (>) :: UTCTime -> UTCTime -> Bool # (>=) :: UTCTime -> UTCTime -> Bool # max :: UTCTime -> UTCTime -> UTCTime # min :: UTCTime -> UTCTime -> UTCTime #

class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where #

Minimal complete definition

Nothing

Methods

mzero :: m a #

mplus :: m a -> m a -> m a #

#### Instances

Instances details

MonadPlus IResult |
Instance details Defined in Data.Aeson.Types.Internal Methods mzero :: IResult a # mplus :: IResult a -> IResult a -> IResult a #
MonadPlus Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods mzero :: Parser a # mplus :: Parser a -> Parser a -> Parser a #
MonadPlus Result |
Instance details Defined in Data.Aeson.Types.Internal Methods mzero :: Result a # mplus :: Result a -> Result a -> Result a #
MonadPlus STM |
Instance details Defined in GHC.Conc.Sync Methods mzero :: STM a # mplus :: STM a -> STM a -> STM a #
MonadPlus P |
Instance details Defined in Text.ParserCombinators.ReadP Methods mzero :: P a # mplus :: P a -> P a -> P a #
MonadPlus ReadP |
Instance details Defined in Text.ParserCombinators.ReadP Methods mzero :: ReadP a # mplus :: ReadP a -> ReadP a -> ReadP a #
MonadPlus ReadPrec |
Instance details Defined in Text.ParserCombinators.ReadPrec Methods mzero :: ReadPrec a # mplus :: ReadPrec a -> ReadPrec a -> ReadPrec a #
MonadPlus Seq |
Instance details Defined in Data.Sequence.Internal Methods mzero :: Seq a # mplus :: Seq a -> Seq a -> Seq a #
MonadPlus DList |
Instance details Defined in Data.DList.Internal Methods mzero :: DList a # mplus :: DList a -> DList a -> DList a #
MonadPlus IO |
Instance details Defined in GHC.Base Methods mzero :: IO a # mplus :: IO a -> IO a -> IO a #
MonadPlus Root |
Instance details Defined in Numeric.RootFinding Methods mzero :: Root a # mplus :: Root a -> Root a -> Root a #
MonadPlus Array |
Instance details Defined in Data.Primitive.Array Methods mzero :: Array a # mplus :: Array a -> Array a -> Array a #
MonadPlus SmallArray |
Instance details Defined in Data.Primitive.SmallArray Methods mzero :: SmallArray a # mplus :: SmallArray a -> SmallArray a -> SmallArray a #
MonadPlus Capability |
Instance details Defined in System.Console.Terminfo.Base Methods mzero :: Capability a # mplus :: Capability a -> Capability a -> Capability a #
MonadPlus Vector |
Instance details Defined in Data.Vector Methods mzero :: Vector a # mplus :: Vector a -> Vector a -> Vector a #
MonadPlus Maybe |
Instance details Defined in GHC.Base Methods mzero :: Maybe a # mplus :: Maybe a -> Maybe a -> Maybe a #
MonadPlus List |
Instance details Defined in GHC.Base Methods mzero :: [a] # mplus :: [a] -> [a] -> [a] #
MonadPlus (Parser i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods mzero :: Parser i a # mplus :: Parser i a -> Parser i a -> Parser i a #
(ArrowApply a, ArrowPlus a) => MonadPlus (ArrowMonad a) |
Instance details Defined in Control.Arrow Methods mzero :: ArrowMonad a a0 # mplus :: ArrowMonad a a0 -> ArrowMonad a a0 -> ArrowMonad a a0 #
MonadPlus (U1 :: Type -> Type) |
Instance details Defined in GHC.Generics Methods mzero :: U1 a # mplus :: U1 a -> U1 a -> U1 a #
MonadPlus m => MonadPlus (ResourceT m) | Since 1.1.5
Instance details Defined in Control.Monad.Trans.Resource.Internal Methods mzero :: ResourceT m a # mplus :: ResourceT m a -> ResourceT m a -> ResourceT m a #
Monad m => MonadPlus (MaybeT m) |
Instance details Defined in Control.Monad.Trans.Maybe Methods mzero :: MaybeT m a # mplus :: MaybeT m a -> MaybeT m a -> MaybeT m a #
Functor backend => MonadPlus (Wizard backend) |
Instance details Defined in System.Console.Wizard.Internal Methods mzero :: Wizard backend a # mplus :: Wizard backend a -> Wizard backend a -> Wizard backend a #
MonadPlus m => MonadPlus (Kleisli m a) |
Instance details Defined in Control.Arrow Methods mzero :: Kleisli m a a0 # mplus :: Kleisli m a a0 -> Kleisli m a a0 -> Kleisli m a a0 #
MonadPlus f => MonadPlus (Alt f) |
Instance details Defined in Data.Semigroup.Internal Methods mzero :: Alt f a # mplus :: Alt f a -> Alt f a -> Alt f a #
MonadPlus f => MonadPlus (Rec1 f) |
Instance details Defined in GHC.Generics Methods mzero :: Rec1 f a # mplus :: Rec1 f a -> Rec1 f a -> Rec1 f a #
(Functor f, Monad m, MonadPlus m) => MonadPlus (FreeT f m) |
Instance details Defined in Control.Monad.Free Methods mzero :: FreeT f m a # mplus :: FreeT f m a -> FreeT f m a -> FreeT f m a #
(Monad m, Monoid e) => MonadPlus (ExceptT e m) |
Instance details Defined in Control.Monad.Trans.Except Methods mzero :: ExceptT e m a # mplus :: ExceptT e m a -> ExceptT e m a -> ExceptT e m a #
MonadPlus m => MonadPlus (IdentityT m) |
Instance details Defined in Control.Monad.Trans.Identity Methods mzero :: IdentityT m a # mplus :: IdentityT m a -> IdentityT m a -> IdentityT m a #
MonadPlus m => MonadPlus (ReaderT r m) |
Instance details Defined in Control.Monad.Trans.Reader Methods mzero :: ReaderT r m a # mplus :: ReaderT r m a -> ReaderT r m a -> ReaderT r m a #
MonadPlus m => MonadPlus (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Lazy Methods mzero :: StateT s m a # mplus :: StateT s m a -> StateT s m a -> StateT s m a #
MonadPlus m => MonadPlus (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Strict Methods mzero :: StateT s m a # mplus :: StateT s m a -> StateT s m a -> StateT s m a #
(Monoid w, MonadPlus m) => MonadPlus (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods mzero :: WriterT w m a # mplus :: WriterT w m a -> WriterT w m a -> WriterT w m a #
(Monoid w, MonadPlus m) => MonadPlus (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods mzero :: WriterT w m a # mplus :: WriterT w m a -> WriterT w m a -> WriterT w m a #
MonadPlus m => MonadPlus (Reverse m) |
Instance details Defined in Data.Functor.Reverse Methods mzero :: Reverse m a # mplus :: Reverse m a -> Reverse m a -> Reverse m a #
(MonadPlus f, MonadPlus g) => MonadPlus (f :*: g) |
Instance details Defined in GHC.Generics Methods mzero :: (f :*: g) a # mplus :: (f :*: g) a -> (f :*: g) a -> (f :*: g) a #
(Ord e, Stream s) => MonadPlus (ParsecT e s m) | `mzero` is a parser that fails without consuming input. Note: strictly speaking, this instance is unlawful. The right identity law does not hold, e.g. in general this is not true:
    v >> mzero = mero
However the following holds:
    try v >> mzero = mzero
Instance details Defined in Text.Megaparsec.Internal Methods mzero :: ParsecT e s m a # mplus :: ParsecT e s m a -> ParsecT e s m a -> ParsecT e s m a #
MonadPlus f => MonadPlus (M1 i c f) |
Instance details Defined in GHC.Generics Methods mzero :: M1 i c f a # mplus :: M1 i c f a -> M1 i c f a -> M1 i c f a #
(Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy Methods mzero :: RWST r w s m a # mplus :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a #
(Monoid w, MonadPlus m) => MonadPlus (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Strict Methods mzero :: RWST r w s m a # mplus :: RWST r w s m a -> RWST r w s m a -> RWST r w s m a #

class Monad m => MonadFail (m :: Type -> Type) where #

Methods

fail :: String -> m a #

#### Instances

Instances details

MonadFail IResult |
Instance details Defined in Data.Aeson.Types.Internal Methods fail :: String -> IResult a #
MonadFail Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods fail :: String -> Parser a #
MonadFail Result |
Instance details Defined in Data.Aeson.Types.Internal Methods fail :: String -> Result a #
MonadFail P |
Instance details Defined in Text.ParserCombinators.ReadP Methods fail :: String -> P a #
MonadFail ReadP |
Instance details Defined in Text.ParserCombinators.ReadP Methods fail :: String -> ReadP a #
MonadFail ReadPrec |
Instance details Defined in Text.ParserCombinators.ReadPrec Methods fail :: String -> ReadPrec a #
MonadFail DList |
Instance details Defined in Data.DList.Internal Methods fail :: String -> DList a #
MonadFail IO |
Instance details Defined in Control.Monad.Fail Methods fail :: String -> IO a #
MonadFail Array |
Instance details Defined in Data.Primitive.Array Methods fail :: String -> Array a #
MonadFail SmallArray |
Instance details Defined in Data.Primitive.SmallArray Methods fail :: String -> SmallArray a #
MonadFail Q |
Instance details Defined in Language.Haskell.TH.Syntax Methods fail :: String -> Q a #
MonadFail Vector | Since: vector-0.12.1.0
Instance details Defined in Data.Vector Methods fail :: String -> Vector a #
MonadFail Maybe |
Instance details Defined in Control.Monad.Fail Methods fail :: String -> Maybe a #
MonadFail List |
Instance details Defined in Control.Monad.Fail Methods fail :: String -> [a] #
MonadFail (Parser i) |
Instance details Defined in Data.Attoparsec.Internal.Types Methods fail :: String -> Parser i a #
MonadFail m => MonadFail (InputT m) |
Instance details Defined in System.Console.Haskeline.InputT Methods fail :: String -> InputT m a #
MonadFail m => MonadFail (ResourceT m) | Since: resourcet-1.2.2
Instance details Defined in Control.Monad.Trans.Resource.Internal Methods fail :: String -> ResourceT m a #
Monad m => MonadFail (QuoteToQuasi m) |
Instance details Defined in Language.Haskell.TH.Syntax.Compat Methods fail :: String -> QuoteToQuasi m a #
Monad m => MonadFail (MaybeT m) |
Instance details Defined in Control.Monad.Trans.Maybe Methods fail :: String -> MaybeT m a #
MonadFail m => MonadFail (StateT s m) |
Instance details Defined in Lens.Micro Methods fail :: String -> StateT s m a #
MonadFail m => MonadFail (ExceptT e m) |
Instance details Defined in Control.Monad.Trans.Except Methods fail :: String -> ExceptT e m a #
MonadFail m => MonadFail (IdentityT m) |
Instance details Defined in Control.Monad.Trans.Identity Methods fail :: String -> IdentityT m a #
MonadFail m => MonadFail (ReaderT r m) |
Instance details Defined in Control.Monad.Trans.Reader Methods fail :: String -> ReaderT r m a #
MonadFail m => MonadFail (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Lazy Methods fail :: String -> StateT s m a #
MonadFail m => MonadFail (StateT s m) |
Instance details Defined in Control.Monad.Trans.State.Strict Methods fail :: String -> StateT s m a #
(Monoid w, MonadFail m) => MonadFail (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Lazy Methods fail :: String -> WriterT w m a #
(Monoid w, MonadFail m) => MonadFail (WriterT w m) |
Instance details Defined in Control.Monad.Trans.Writer.Strict Methods fail :: String -> WriterT w m a #
MonadFail m => MonadFail (Reverse m) |
Instance details Defined in Data.Functor.Reverse Methods fail :: String -> Reverse m a #
MonadFail m => MonadFail (ConduitT i o m) | Since: conduit-1.3.1
Instance details Defined in Data.Conduit.Internal.Conduit Methods fail :: String -> ConduitT i o m a #
Stream s => MonadFail (ParsecT e s m) |
Instance details Defined in Text.Megaparsec.Internal Methods fail :: String -> ParsecT e s m a #
MonadFail m => MonadFail (ContT r m) |
Instance details Defined in Control.Monad.Trans.Cont Methods fail :: String -> ContT r m a #
(Monoid w, MonadFail m) => MonadFail (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Lazy Methods fail :: String -> RWST r w s m a #
(Monoid w, MonadFail m) => MonadFail (RWST r w s m) |
Instance details Defined in Control.Monad.Trans.RWS.Strict Methods fail :: String -> RWST r w s m a #

data ThreadId #

#### Instances

Instances details

Show ThreadId |
Instance details Defined in GHC.Conc.Sync Methods showsPrec :: Int -> ThreadId -> ShowS show :: ThreadId -> String showList :: [ThreadId] -> ShowS
NFData ThreadId |
Instance details Defined in Control.DeepSeq Methods rnf :: ThreadId -> ()
Eq ThreadId |
Instance details Defined in GHC.Conc.Sync Methods (==) :: ThreadId -> ThreadId -> Bool (/=) :: ThreadId -> ThreadId -> Bool
Ord ThreadId |
Instance details Defined in GHC.Conc.Sync Methods compare :: ThreadId -> ThreadId -> Ordering # (<) :: ThreadId -> ThreadId -> Bool # (<=) :: ThreadId -> ThreadId -> Bool # (>) :: ThreadId -> ThreadId -> Bool # (>=) :: ThreadId -> ThreadId -> Bool # max :: ThreadId -> ThreadId -> ThreadId # min :: ThreadId -> ThreadId -> ThreadId #
Hashable ThreadId |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> ThreadId -> Int # hash :: ThreadId -> Int #

data Complete #

How to complete a command line option. The `Show` instance is suitable for parsing from shell scripts.

Constructors

CompleteValue String | Complete to a particular value
CompleteFile String FilePath | Complete to a prefix, and a file
CompleteDir String FilePath | Complete to a prefix, and a directory

#### Instances

Instances details

Show Complete |
Instance details Defined in System.Console.CmdArgs.Explicit.Complete Methods showsPrec :: Int -> Complete -> ShowS show :: Complete -> String showList :: [Complete] -> ShowS
Eq Complete |
Instance details Defined in System.Console.CmdArgs.Explicit.Complete Methods (==) :: Complete -> Complete -> Bool (/=) :: Complete -> Complete -> Bool
Ord Complete |
Instance details Defined in System.Console.CmdArgs.Explicit.Complete Methods compare :: Complete -> Complete -> Ordering # (<) :: Complete -> Complete -> Bool # (<=) :: Complete -> Complete -> Bool # (>) :: Complete -> Complete -> Bool # (>=) :: Complete -> Complete -> Bool # max :: Complete -> Complete -> Complete # min :: Complete -> Complete -> Complete #

data Arg a #

An unnamed argument. Anything not starting with `-` is considered an argument, apart from `"-"` which is considered to be the argument `"-"`, and any arguments following `"--"`. For example:

    programname arg1 -j - --foo arg3 -- -arg4 --arg5=1 arg6

Would have the arguments:

    ["arg1","-","arg3","-arg4","--arg5=1","arg6"]

Constructors

Arg |
Fields argValue :: Update a A way of processing the argument. argType :: FlagHelp The type of data for the argument, i.e. FILE/DIR/EXT argRequire :: Bool Is at least one of these arguments required, the command line will fail if none are set

#### Instances

Instances details

Remap Arg |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods remap :: (a -> b) -> (b -> (a, a -> b)) -> Arg a -> Arg b #

data MVar a #

#### Instances

Instances details

NFData1 MVar |
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> MVar a -> ()
NFData (MVar a) |
Instance details Defined in Control.DeepSeq Methods rnf :: MVar a -> ()
Eq (MVar a) |
Instance details Defined in GHC.MVar Methods (==) :: MVar a -> MVar a -> Bool (/=) :: MVar a -> MVar a -> Bool

data Chan a #

#### Instances

Instances details

Eq (Chan a) |
Instance details Defined in Control.Concurrent.Chan Methods (==) :: Chan a -> Chan a -> Bool (/=) :: Chan a -> Chan a -> Bool

data QSem #

data QSemN #

type IOError = IOException #

data ExitCode #

Constructors

ExitSuccess |
ExitFailure Int |

#### Instances

Instances details

Exception ExitCode |
Instance details Defined in GHC.IO.Exception Methods toException :: ExitCode -> SomeException fromException :: SomeException -> Maybe ExitCode displayException :: ExitCode -> String
Generic ExitCode |
Instance details Defined in GHC.IO.Exception Associated Types type Rep ExitCode :: Type -> Type Methods from :: ExitCode -> Rep ExitCode x to :: Rep ExitCode x -> ExitCode
Read ExitCode |
Instance details Defined in GHC.IO.Exception Methods readsPrec :: Int -> ReadS ExitCode # readList :: ReadS [ExitCode] # readPrec :: ReadPrec ExitCode # readListPrec :: ReadPrec [ExitCode] #
Show ExitCode |
Instance details Defined in GHC.IO.Exception Methods showsPrec :: Int -> ExitCode -> ShowS show :: ExitCode -> String showList :: [ExitCode] -> ShowS
NFData ExitCode |
Instance details Defined in Control.DeepSeq Methods rnf :: ExitCode -> ()
Eq ExitCode |
Instance details Defined in GHC.IO.Exception Methods (==) :: ExitCode -> ExitCode -> Bool (/=) :: ExitCode -> ExitCode -> Bool
Ord ExitCode |
Instance details Defined in GHC.IO.Exception Methods compare :: ExitCode -> ExitCode -> Ordering # (<) :: ExitCode -> ExitCode -> Bool # (<=) :: ExitCode -> ExitCode -> Bool # (>) :: ExitCode -> ExitCode -> Bool # (>=) :: ExitCode -> ExitCode -> Bool # max :: ExitCode -> ExitCode -> ExitCode # min :: ExitCode -> ExitCode -> ExitCode #
type Rep ExitCode |
Instance details Defined in GHC.IO.Exception type Rep ExitCode = D1 ('MetaData "ExitCode" "GHC.IO.Exception" "base" 'False) (C1 ('MetaCons "ExitSuccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ExitFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data Handle #

#### Instances

Instances details

Show Handle |
Instance details Defined in GHC.IO.Handle.Types Methods showsPrec :: Int -> Handle -> ShowS show :: Handle -> String showList :: [Handle] -> ShowS
Eq Handle |
Instance details Defined in GHC.IO.Handle.Types Methods (==) :: Handle -> Handle -> Bool (/=) :: Handle -> Handle -> Bool

data TextEncoding #

#### Instances

Instances details

Show TextEncoding |
Instance details Defined in GHC.IO.Encoding.Types Methods showsPrec :: Int -> TextEncoding -> ShowS show :: TextEncoding -> String showList :: [TextEncoding] -> ShowS

data SeekMode #

Constructors

AbsoluteSeek |
RelativeSeek |
SeekFromEnd |

#### Instances

Instances details

Enum SeekMode |
Instance details Defined in GHC.IO.Device Methods succ :: SeekMode -> SeekMode pred :: SeekMode -> SeekMode toEnum :: Int -> SeekMode fromEnum :: SeekMode -> Int enumFrom :: SeekMode -> [SeekMode] enumFromThen :: SeekMode -> SeekMode -> [SeekMode] enumFromTo :: SeekMode -> SeekMode -> [SeekMode] enumFromThenTo :: SeekMode -> SeekMode -> SeekMode -> [SeekMode]
Ix SeekMode |
Instance details Defined in GHC.IO.Device Methods range :: (SeekMode, SeekMode) -> [SeekMode] index :: (SeekMode, SeekMode) -> SeekMode -> Int unsafeIndex :: (SeekMode, SeekMode) -> SeekMode -> Int inRange :: (SeekMode, SeekMode) -> SeekMode -> Bool rangeSize :: (SeekMode, SeekMode) -> Int unsafeRangeSize :: (SeekMode, SeekMode) -> Int
Read SeekMode |
Instance details Defined in GHC.IO.Device Methods readsPrec :: Int -> ReadS SeekMode # readList :: ReadS [SeekMode] # readPrec :: ReadPrec SeekMode # readListPrec :: ReadPrec [SeekMode] #
Show SeekMode |
Instance details Defined in GHC.IO.Device Methods showsPrec :: Int -> SeekMode -> ShowS show :: SeekMode -> String showList :: [SeekMode] -> ShowS
Eq SeekMode |
Instance details Defined in GHC.IO.Device Methods (==) :: SeekMode -> SeekMode -> Bool (/=) :: SeekMode -> SeekMode -> Bool
Ord SeekMode |
Instance details Defined in GHC.IO.Device Methods compare :: SeekMode -> SeekMode -> Ordering # (<) :: SeekMode -> SeekMode -> Bool # (<=) :: SeekMode -> SeekMode -> Bool # (>) :: SeekMode -> SeekMode -> Bool # (>=) :: SeekMode -> SeekMode -> Bool # max :: SeekMode -> SeekMode -> SeekMode # min :: SeekMode -> SeekMode -> SeekMode #

data HandlePosn #

#### Instances

Instances details

Show HandlePosn |
Instance details Defined in GHC.IO.Handle Methods showsPrec :: Int -> HandlePosn -> ShowS show :: HandlePosn -> String showList :: [HandlePosn] -> ShowS
Eq HandlePosn |
Instance details Defined in GHC.IO.Handle Methods (==) :: HandlePosn -> HandlePosn -> Bool (/=) :: HandlePosn -> HandlePosn -> Bool

data BufferMode #

Constructors

NoBuffering |
LineBuffering |
BlockBuffering (Maybe Int) |

#### Instances

Instances details

Read BufferMode |
Instance details Defined in GHC.IO.Handle.Types Methods readsPrec :: Int -> ReadS BufferMode # readList :: ReadS [BufferMode] # readPrec :: ReadPrec BufferMode # readListPrec :: ReadPrec [BufferMode] #
Show BufferMode |
Instance details Defined in GHC.IO.Handle.Types Methods showsPrec :: Int -> BufferMode -> ShowS show :: BufferMode -> String showList :: [BufferMode] -> ShowS
Eq BufferMode |
Instance details Defined in GHC.IO.Handle.Types Methods (==) :: BufferMode -> BufferMode -> Bool (/=) :: BufferMode -> BufferMode -> Bool
Ord BufferMode |
Instance details Defined in GHC.IO.Handle.Types Methods compare :: BufferMode -> BufferMode -> Ordering # (<) :: BufferMode -> BufferMode -> Bool # (<=) :: BufferMode -> BufferMode -> Bool # (>) :: BufferMode -> BufferMode -> Bool # (>=) :: BufferMode -> BufferMode -> Bool # max :: BufferMode -> BufferMode -> BufferMode # min :: BufferMode -> BufferMode -> BufferMode #

data Newline #

Constructors

LF |
CRLF |

#### Instances

Instances details

Read Newline |
Instance details Defined in GHC.IO.Handle.Types Methods readsPrec :: Int -> ReadS Newline # readList :: ReadS [Newline] # readPrec :: ReadPrec Newline # readListPrec :: ReadPrec [Newline] #
Show Newline |
Instance details Defined in GHC.IO.Handle.Types Methods showsPrec :: Int -> Newline -> ShowS show :: Newline -> String showList :: [Newline] -> ShowS
Eq Newline |
Instance details Defined in GHC.IO.Handle.Types Methods (==) :: Newline -> Newline -> Bool (/=) :: Newline -> Newline -> Bool
Ord Newline |
Instance details Defined in GHC.IO.Handle.Types Methods compare :: Newline -> Newline -> Ordering # (<) :: Newline -> Newline -> Bool # (<=) :: Newline -> Newline -> Bool # (>) :: Newline -> Newline -> Bool # (>=) :: Newline -> Newline -> Bool # max :: Newline -> Newline -> Newline # min :: Newline -> Newline -> Newline #

data NewlineMode #

Constructors

NewlineMode |
Fields inputNL :: Newline outputNL :: Newline

#### Instances

Instances details

Read NewlineMode |
Instance details Defined in GHC.IO.Handle.Types Methods readsPrec :: Int -> ReadS NewlineMode # readList :: ReadS [NewlineMode] # readPrec :: ReadPrec NewlineMode # readListPrec :: ReadPrec [NewlineMode] #
Show NewlineMode |
Instance details Defined in GHC.IO.Handle.Types Methods showsPrec :: Int -> NewlineMode -> ShowS show :: NewlineMode -> String showList :: [NewlineMode] -> ShowS
Eq NewlineMode |
Instance details Defined in GHC.IO.Handle.Types Methods (==) :: NewlineMode -> NewlineMode -> Bool (/=) :: NewlineMode -> NewlineMode -> Bool
Ord NewlineMode |
Instance details Defined in GHC.IO.Handle.Types Methods compare :: NewlineMode -> NewlineMode -> Ordering # (<) :: NewlineMode -> NewlineMode -> Bool # (<=) :: NewlineMode -> NewlineMode -> Bool # (>) :: NewlineMode -> NewlineMode -> Bool # (>=) :: NewlineMode -> NewlineMode -> Bool # max :: NewlineMode -> NewlineMode -> NewlineMode # min :: NewlineMode -> NewlineMode -> NewlineMode #

data IOMode #

Constructors

ReadMode |
WriteMode |
AppendMode |
ReadWriteMode |

#### Instances

Instances details

Enum IOMode |
Instance details Defined in GHC.IO.IOMode Methods succ :: IOMode -> IOMode pred :: IOMode -> IOMode toEnum :: Int -> IOMode fromEnum :: IOMode -> Int enumFrom :: IOMode -> [IOMode] enumFromThen :: IOMode -> IOMode -> [IOMode] enumFromTo :: IOMode -> IOMode -> [IOMode] enumFromThenTo :: IOMode -> IOMode -> IOMode -> [IOMode]
Ix IOMode |
Instance details Defined in GHC.IO.IOMode Methods range :: (IOMode, IOMode) -> [IOMode] index :: (IOMode, IOMode) -> IOMode -> Int unsafeIndex :: (IOMode, IOMode) -> IOMode -> Int inRange :: (IOMode, IOMode) -> IOMode -> Bool rangeSize :: (IOMode, IOMode) -> Int unsafeRangeSize :: (IOMode, IOMode) -> Int
Read IOMode |
Instance details Defined in GHC.IO.IOMode Methods readsPrec :: Int -> ReadS IOMode # readList :: ReadS [IOMode] # readPrec :: ReadPrec IOMode # readListPrec :: ReadPrec [IOMode] #
Show IOMode |
Instance details Defined in GHC.IO.IOMode Methods showsPrec :: Int -> IOMode -> ShowS show :: IOMode -> String showList :: [IOMode] -> ShowS
Eq IOMode |
Instance details Defined in GHC.IO.IOMode Methods (==) :: IOMode -> IOMode -> Bool (/=) :: IOMode -> IOMode -> Bool
Ord IOMode |
Instance details Defined in GHC.IO.IOMode Methods compare :: IOMode -> IOMode -> Ordering # (<) :: IOMode -> IOMode -> Bool # (<=) :: IOMode -> IOMode -> Bool # (>) :: IOMode -> IOMode -> Bool # (>=) :: IOMode -> IOMode -> Bool # max :: IOMode -> IOMode -> IOMode # min :: IOMode -> IOMode -> IOMode #

data IOErrorType #

#### Instances

Instances details

Show IOErrorType |
Instance details Defined in GHC.IO.Exception Methods showsPrec :: Int -> IOErrorType -> ShowS show :: IOErrorType -> String showList :: [IOErrorType] -> ShowS
Eq IOErrorType |
Instance details Defined in GHC.IO.Exception Methods (==) :: IOErrorType -> IOErrorType -> Bool (/=) :: IOErrorType -> IOErrorType -> Bool

newtype Down a #

Constructors

Down |
Fields getDown :: a

#### Instances

Instances details

FromJSON1 Down | Since: aeson-2.2.0.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods liftParseJSON :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser (Down a) # liftParseJSONList :: Maybe a -> (Value -> Parser a) -> (Value -> Parser [a]) -> Value -> Parser [Down a] # liftOmittedField :: Maybe a -> Maybe (Down a) #
ToJSON1 Down | Since: aeson-2.2.0.0
Instance details Defined in Data.Aeson.Types.ToJSON Methods liftToJSON :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> Down a -> Value # liftToJSONList :: (a -> Bool) -> (a -> Value) -> ([a] -> Value) -> [Down a] -> Value # liftToEncoding :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> Down a -> Encoding # liftToEncodingList :: (a -> Bool) -> (a -> Encoding) -> ([a] -> Encoding) -> [Down a] -> Encoding # liftOmitField :: (a -> Bool) -> Down a -> Bool #
Foldable Down |
Instance details Defined in Data.Foldable Methods fold :: Monoid m => Down m -> m foldMap :: Monoid m => (a -> m) -> Down a -> m foldMap' :: Monoid m => (a -> m) -> Down a -> m foldr :: (a -> b -> b) -> b -> Down a -> b # foldr' :: (a -> b -> b) -> b -> Down a -> b foldl :: (b -> a -> b) -> b -> Down a -> b # foldl' :: (b -> a -> b) -> b -> Down a -> b # foldr1 :: (a -> a -> a) -> Down a -> a # foldl1 :: (a -> a -> a) -> Down a -> a # toList :: Down a -> [a] null :: Down a -> Bool # length :: Down a -> Int # elem :: Eq a => a -> Down a -> Bool # maximum :: Ord a => Down a -> a # minimum :: Ord a => Down a -> a # sum :: Num a => Down a -> a # product :: Num a => Down a -> a #
Traversable Down |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> Down a -> f (Down b) sequenceA :: Applicative f => Down (f a) -> f (Down a) mapM :: Monad m => (a -> m b) -> Down a -> m (Down b) # sequence :: Monad m => Down (m a) -> m (Down a) #
Applicative Down |
Instance details Defined in Data.Ord Methods pure :: a -> Down a # (<*>) :: Down (a -> b) -> Down a -> Down b # liftA2 :: (a -> b -> c) -> Down a -> Down b -> Down c # (*>) :: Down a -> Down b -> Down b # (<*) :: Down a -> Down b -> Down a #
Functor Down |
Instance details Defined in Data.Ord Methods fmap :: (a -> b) -> Down a -> Down b # (<$) :: a -> Down b -> Down a #
Monad Down |
Instance details Defined in Data.Ord Methods (>>=) :: Down a -> (a -> Down b) -> Down b # (>>) :: Down a -> Down b -> Down b # return :: a -> Down a #
NFData1 Down |
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> Down a -> ()
Generic1 Down |
Instance details Defined in GHC.Generics Associated Types type Rep1 Down :: k -> Type Methods from1 :: forall (a :: k). Down a -> Rep1 Down a to1 :: forall (a :: k). Rep1 Down a -> Down a
Unbox a => Vector Vector (Down a) |
Instance details Defined in Data.Vector.Unboxed.Base Methods basicUnsafeFreeze :: Mutable Vector s (Down a) -> ST s (Vector (Down a)) # basicUnsafeThaw :: Vector (Down a) -> ST s (Mutable Vector s (Down a)) # basicLength :: Vector (Down a) -> Int # basicUnsafeSlice :: Int -> Int -> Vector (Down a) -> Vector (Down a) # basicUnsafeIndexM :: Vector (Down a) -> Int -> Box (Down a) # basicUnsafeCopy :: Mutable Vector s (Down a) -> Vector (Down a) -> ST s () # elemseq :: Vector (Down a) -> Down a -> b -> b #
Unbox a => MVector MVector (Down a) |
Instance details Defined in Data.Vector.Unboxed.Base Methods basicLength :: MVector s (Down a) -> Int # basicUnsafeSlice :: Int -> Int -> MVector s (Down a) -> MVector s (Down a) # basicOverlaps :: MVector s (Down a) -> MVector s (Down a) -> Bool # basicUnsafeNew :: Int -> ST s (MVector s (Down a)) # basicInitialize :: MVector s (Down a) -> ST s () # basicUnsafeReplicate :: Int -> Down a -> ST s (MVector s (Down a)) # basicUnsafeRead :: MVector s (Down a) -> Int -> ST s (Down a) # basicUnsafeWrite :: MVector s (Down a) -> Int -> Down a -> ST s () # basicClear :: MVector s (Down a) -> ST s () # basicSet :: MVector s (Down a) -> Down a -> ST s () # basicUnsafeCopy :: MVector s (Down a) -> MVector s (Down a) -> ST s () # basicUnsafeMove :: MVector s (Down a) -> MVector s (Down a) -> ST s () # basicUnsafeGrow :: MVector s (Down a) -> Int -> ST s (MVector s (Down a)) #
FromJSON a => FromJSON (Down a) | Since: aeson-2.2.0.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Down a) # parseJSONList :: Value -> Parser [Down a] # omittedField :: Maybe (Down a) #
ToJSON a => ToJSON (Down a) | Since: aeson-2.2.0.0
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Down a -> Value # toEncoding :: Down a -> Encoding # toJSONList :: [Down a] -> Value # toEncodingList :: [Down a] -> Encoding # omitField :: Down a -> Bool #
Data a => Data (Down a) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Down a -> c (Down a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Down a) toConstr :: Down a -> Constr dataTypeOf :: Down a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Down a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Down a)) gmapT :: (forall b. Data b => b -> b) -> Down a -> Down a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r gmapQ :: (forall d. Data d => d -> u) -> Down a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Down a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a)
Storable a => Storable (Down a) |
Instance details Defined in Data.Ord Methods sizeOf :: Down a -> Int alignment :: Down a -> Int peekElemOff :: Ptr (Down a) -> Int -> IO (Down a) pokeElemOff :: Ptr (Down a) -> Int -> Down a -> IO () peekByteOff :: Ptr b -> Int -> IO (Down a) pokeByteOff :: Ptr b -> Int -> Down a -> IO () peek :: Ptr (Down a) -> IO (Down a) poke :: Ptr (Down a) -> Down a -> IO ()
Monoid a => Monoid (Down a) |
Instance details Defined in Data.Ord Methods mempty :: Down a # mappend :: Down a -> Down a -> Down a # mconcat :: [Down a] -> Down a #
Semigroup a => Semigroup (Down a) |
Instance details Defined in Data.Ord Methods (<>) :: Down a -> Down a -> Down a # sconcat :: NonEmpty (Down a) -> Down a # stimes :: Integral b => b -> Down a -> Down a #
Bits a => Bits (Down a) |
Instance details Defined in Data.Ord Methods (.&.) :: Down a -> Down a -> Down a (.|.) :: Down a -> Down a -> Down a xor :: Down a -> Down a -> Down a complement :: Down a -> Down a shift :: Down a -> Int -> Down a rotate :: Down a -> Int -> Down a zeroBits :: Down a bit :: Int -> Down a setBit :: Down a -> Int -> Down a clearBit :: Down a -> Int -> Down a complementBit :: Down a -> Int -> Down a testBit :: Down a -> Int -> Bool bitSizeMaybe :: Down a -> Maybe Int bitSize :: Down a -> Int isSigned :: Down a -> Bool shiftL :: Down a -> Int -> Down a unsafeShiftL :: Down a -> Int -> Down a shiftR :: Down a -> Int -> Down a unsafeShiftR :: Down a -> Int -> Down a rotateL :: Down a -> Int -> Down a rotateR :: Down a -> Int -> Down a popCount :: Down a -> Int
FiniteBits a => FiniteBits (Down a) |
Instance details Defined in Data.Ord Methods finiteBitSize :: Down a -> Int countLeadingZeros :: Down a -> Int countTrailingZeros :: Down a -> Int
Bounded a => Bounded (Down a) |
Instance details Defined in Data.Ord Methods minBound :: Down a maxBound :: Down a
(Enum a, Bounded a, Eq a) => Enum (Down a) |
Instance details Defined in Data.Ord Methods succ :: Down a -> Down a pred :: Down a -> Down a toEnum :: Int -> Down a fromEnum :: Down a -> Int enumFrom :: Down a -> [Down a] enumFromThen :: Down a -> Down a -> [Down a] enumFromTo :: Down a -> Down a -> [Down a] enumFromThenTo :: Down a -> Down a -> Down a -> [Down a]
Floating a => Floating (Down a) |
Instance details Defined in Data.Ord Methods pi :: Down a exp :: Down a -> Down a log :: Down a -> Down a sqrt :: Down a -> Down a (**) :: Down a -> Down a -> Down a logBase :: Down a -> Down a -> Down a sin :: Down a -> Down a cos :: Down a -> Down a tan :: Down a -> Down a asin :: Down a -> Down a acos :: Down a -> Down a atan :: Down a -> Down a sinh :: Down a -> Down a cosh :: Down a -> Down a tanh :: Down a -> Down a asinh :: Down a -> Down a acosh :: Down a -> Down a atanh :: Down a -> Down a log1p :: Down a -> Down a # expm1 :: Down a -> Down a # log1pexp :: Down a -> Down a log1mexp :: Down a -> Down a
RealFloat a => RealFloat (Down a) |
Instance details Defined in Data.Ord Methods floatRadix :: Down a -> Integer floatDigits :: Down a -> Int floatRange :: Down a -> (Int, Int) decodeFloat :: Down a -> (Integer, Int) encodeFloat :: Integer -> Int -> Down a exponent :: Down a -> Int significand :: Down a -> Down a scaleFloat :: Int -> Down a -> Down a isNaN :: Down a -> Bool isInfinite :: Down a -> Bool isDenormalized :: Down a -> Bool isNegativeZero :: Down a -> Bool isIEEE :: Down a -> Bool atan2 :: Down a -> Down a -> Down a
Generic (Down a) |
Instance details Defined in GHC.Generics Associated Types type Rep (Down a) :: Type -> Type Methods from :: Down a -> Rep (Down a) x to :: Rep (Down a) x -> Down a
Ix a => Ix (Down a) |
Instance details Defined in Data.Ord Methods range :: (Down a, Down a) -> [Down a] index :: (Down a, Down a) -> Down a -> Int unsafeIndex :: (Down a, Down a) -> Down a -> Int inRange :: (Down a, Down a) -> Down a -> Bool rangeSize :: (Down a, Down a) -> Int unsafeRangeSize :: (Down a, Down a) -> Int
Num a => Num (Down a) |
Instance details Defined in Data.Ord Methods (+) :: Down a -> Down a -> Down a (-) :: Down a -> Down a -> Down a (*) :: Down a -> Down a -> Down a negate :: Down a -> Down a abs :: Down a -> Down a signum :: Down a -> Down a fromInteger :: Integer -> Down a
Read a => Read (Down a) |
Instance details Defined in Data.Ord Methods readsPrec :: Int -> ReadS (Down a) # readList :: ReadS [Down a] # readPrec :: ReadPrec (Down a) # readListPrec :: ReadPrec [Down a] #
Fractional a => Fractional (Down a) |
Instance details Defined in Data.Ord Methods (/) :: Down a -> Down a -> Down a recip :: Down a -> Down a fromRational :: Rational -> Down a
Real a => Real (Down a) |
Instance details Defined in Data.Ord Methods toRational :: Down a -> Rational
RealFrac a => RealFrac (Down a) |
Instance details Defined in Data.Ord Methods properFraction :: Integral b => Down a -> (b, Down a) truncate :: Integral b => Down a -> b round :: Integral b => Down a -> b ceiling :: Integral b => Down a -> b floor :: Integral b => Down a -> b
Show a => Show (Down a) |
Instance details Defined in Data.Ord Methods showsPrec :: Int -> Down a -> ShowS show :: Down a -> String showList :: [Down a] -> ShowS
NFData a => NFData (Down a) |
Instance details Defined in Control.DeepSeq Methods rnf :: Down a -> ()
Eq a => Eq (Down a) |
Instance details Defined in Data.Ord Methods (==) :: Down a -> Down a -> Bool (/=) :: Down a -> Down a -> Bool
Ord a => Ord (Down a) |
Instance details Defined in Data.Ord Methods compare :: Down a -> Down a -> Ordering # (<) :: Down a -> Down a -> Bool # (<=) :: Down a -> Down a -> Bool # (>) :: Down a -> Down a -> Bool # (>=) :: Down a -> Down a -> Bool # max :: Down a -> Down a -> Down a # min :: Down a -> Down a -> Down a #
Unbox a => Unbox (Down a) |
Instance details Defined in Data.Vector.Unboxed.Base
type Rep1 Down |
Instance details Defined in GHC.Generics type Rep1 Down = D1 ('MetaData "Down" "Data.Ord" "base" 'True) (C1 ('MetaCons "Down" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
newtype MVector s (Down a) |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s (Down a) = MV_Down (MVector s a)
type Rep (Down a) |
Instance details Defined in GHC.Generics type Rep (Down a) = D1 ('MetaData "Down" "Data.Ord" "base" 'True) (C1 ('MetaCons "Down" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDown") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
newtype Vector (Down a) |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector (Down a) = V_Down (Vector a)

newtype WrappedArrow (a :: Type -> Type -> Type) b c #

Constructors

WrapArrow |
Fields unwrapArrow :: a b c

#### Instances

Instances details

Generic1 (WrappedArrow a b :: Type -> Type) |
Instance details Defined in Control.Applicative Associated Types type Rep1 (WrappedArrow a b) :: k -> Type Methods from1 :: forall (a0 :: k). WrappedArrow a b a0 -> Rep1 (WrappedArrow a b) a0 to1 :: forall (a0 :: k). Rep1 (WrappedArrow a b) a0 -> WrappedArrow a b a0
(ArrowZero a, ArrowPlus a) => Alternative (WrappedArrow a b) |
Instance details Defined in Control.Applicative Methods empty :: WrappedArrow a b a0 # (<|>) :: WrappedArrow a b a0 -> WrappedArrow a b a0 -> WrappedArrow a b a0 # some :: WrappedArrow a b a0 -> WrappedArrow a b [a0] # many :: WrappedArrow a b a0 -> WrappedArrow a b [a0] #
Arrow a => Applicative (WrappedArrow a b) |
Instance details Defined in Control.Applicative Methods pure :: a0 -> WrappedArrow a b a0 # (<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c # (*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 # (<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 #
Arrow a => Functor (WrappedArrow a b) |
Instance details Defined in Control.Applicative Methods fmap :: (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 # (<$) :: a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 #
(Typeable a, Typeable b, Typeable c, Data (a b c)) => Data (WrappedArrow a b c) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c0 (d -> b0) -> d -> c0 b0) -> (forall g. g -> c0 g) -> WrappedArrow a b c -> c0 (WrappedArrow a b c) gunfold :: (forall b0 r. Data b0 => c0 (b0 -> r) -> c0 r) -> (forall r. r -> c0 r) -> Constr -> c0 (WrappedArrow a b c) toConstr :: WrappedArrow a b c -> Constr dataTypeOf :: WrappedArrow a b c -> DataType dataCast1 :: Typeable t => (forall d. Data d => c0 (t d)) -> Maybe (c0 (WrappedArrow a b c)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c0 (t d e)) -> Maybe (c0 (WrappedArrow a b c)) gmapT :: (forall b0. Data b0 => b0 -> b0) -> WrappedArrow a b c -> WrappedArrow a b c gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedArrow a b c -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedArrow a b c -> r gmapQ :: (forall d. Data d => d -> u) -> WrappedArrow a b c -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedArrow a b c -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WrappedArrow a b c -> m (WrappedArrow a b c)
Generic (WrappedArrow a b c) |
Instance details Defined in Control.Applicative Associated Types type Rep (WrappedArrow a b c) :: Type -> Type Methods from :: WrappedArrow a b c -> Rep (WrappedArrow a b c) x to :: Rep (WrappedArrow a b c) x -> WrappedArrow a b c
Arrow a => MonoFunctor (WrappedArrow a b c) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (WrappedArrow a b c) -> Element (WrappedArrow a b c)) -> WrappedArrow a b c -> WrappedArrow a b c #
Arrow a => MonoPointed (WrappedArrow a b c) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (WrappedArrow a b c) -> WrappedArrow a b c #
type Rep1 (WrappedArrow a b :: Type -> Type) |
Instance details Defined in Control.Applicative type Rep1 (WrappedArrow a b :: Type -> Type) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 (a b))))
type Rep (WrappedArrow a b c) |
Instance details Defined in Control.Applicative type Rep (WrappedArrow a b c) = D1 ('MetaData "WrappedArrow" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapArrow" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapArrow") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (a b c))))
type Element (WrappedArrow a b c) |
Instance details Defined in Data.MonoTraversable type Element (WrappedArrow a b c) = c

newtype WrappedMonad (m :: Type -> Type) a #

Constructors

WrapMonad |
Fields unwrapMonad :: m a

#### Instances

Instances details

Generic1 (WrappedMonad m :: Type -> Type) |
Instance details Defined in Control.Applicative Associated Types type Rep1 (WrappedMonad m) :: k -> Type Methods from1 :: forall (a :: k). WrappedMonad m a -> Rep1 (WrappedMonad m) a to1 :: forall (a :: k). Rep1 (WrappedMonad m) a -> WrappedMonad m a
MonadPlus m => Alternative (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods empty :: WrappedMonad m a # (<|>) :: WrappedMonad m a -> WrappedMonad m a -> WrappedMonad m a # some :: WrappedMonad m a -> WrappedMonad m [a] # many :: WrappedMonad m a -> WrappedMonad m [a] #
Monad m => Applicative (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods pure :: a -> WrappedMonad m a # (<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b # liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c # (*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # (<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a #
Monad m => Functor (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods fmap :: (a -> b) -> WrappedMonad m a -> WrappedMonad m b # (<$) :: a -> WrappedMonad m b -> WrappedMonad m a #
Monad m => Monad (WrappedMonad m) |
Instance details Defined in Control.Applicative Methods (>>=) :: WrappedMonad m a -> (a -> WrappedMonad m b) -> WrappedMonad m b # (>>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b # return :: a -> WrappedMonad m a #
(Typeable m, Typeable a, Data (m a)) => Data (WrappedMonad m a) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WrappedMonad m a -> c (WrappedMonad m a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WrappedMonad m a) toConstr :: WrappedMonad m a -> Constr dataTypeOf :: WrappedMonad m a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WrappedMonad m a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WrappedMonad m a)) gmapT :: (forall b. Data b => b -> b) -> WrappedMonad m a -> WrappedMonad m a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonad m a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WrappedMonad m a -> r gmapQ :: (forall d. Data d => d -> u) -> WrappedMonad m a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> WrappedMonad m a -> u gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a) gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> WrappedMonad m a -> m0 (WrappedMonad m a)
Generic (WrappedMonad m a) |
Instance details Defined in Control.Applicative Associated Types type Rep (WrappedMonad m a) :: Type -> Type Methods from :: WrappedMonad m a -> Rep (WrappedMonad m a) x to :: Rep (WrappedMonad m a) x -> WrappedMonad m a
Monad m => MonoFunctor (WrappedMonad m a) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (WrappedMonad m a) -> Element (WrappedMonad m a)) -> WrappedMonad m a -> WrappedMonad m a #
Monad m => MonoPointed (WrappedMonad m a) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (WrappedMonad m a) -> WrappedMonad m a #
type Rep1 (WrappedMonad m :: Type -> Type) |
Instance details Defined in Control.Applicative type Rep1 (WrappedMonad m :: Type -> Type) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 m)))
type Rep (WrappedMonad m a) |
Instance details Defined in Control.Applicative type Rep (WrappedMonad m a) = D1 ('MetaData "WrappedMonad" "Control.Applicative" "base" 'True) (C1 ('MetaCons "WrapMonad" 'PrefixI 'True) (S1 ('MetaSel ('Just "unwrapMonad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (m a))))
type Element (WrappedMonad m a) |
Instance details Defined in Data.MonoTraversable type Element (WrappedMonad m a) = a

newtype ZipList a #

Constructors

ZipList |
Fields getZipList :: [a]

#### Instances

Instances details

Foldable ZipList |
Instance details Defined in Control.Applicative Methods fold :: Monoid m => ZipList m -> m foldMap :: Monoid m => (a -> m) -> ZipList a -> m foldMap' :: Monoid m => (a -> m) -> ZipList a -> m foldr :: (a -> b -> b) -> b -> ZipList a -> b # foldr' :: (a -> b -> b) -> b -> ZipList a -> b foldl :: (b -> a -> b) -> b -> ZipList a -> b # foldl' :: (b -> a -> b) -> b -> ZipList a -> b # foldr1 :: (a -> a -> a) -> ZipList a -> a # foldl1 :: (a -> a -> a) -> ZipList a -> a # toList :: ZipList a -> [a] null :: ZipList a -> Bool # length :: ZipList a -> Int # elem :: Eq a => a -> ZipList a -> Bool # maximum :: Ord a => ZipList a -> a # minimum :: Ord a => ZipList a -> a # sum :: Num a => ZipList a -> a # product :: Num a => ZipList a -> a #
Traversable ZipList |
Instance details Defined in Data.Traversable Methods traverse :: Applicative f => (a -> f b) -> ZipList a -> f (ZipList b) sequenceA :: Applicative f => ZipList (f a) -> f (ZipList a) mapM :: Monad m => (a -> m b) -> ZipList a -> m (ZipList b) # sequence :: Monad m => ZipList (m a) -> m (ZipList a) #
Alternative ZipList |
Instance details Defined in Control.Applicative Methods empty :: ZipList a # (<|>) :: ZipList a -> ZipList a -> ZipList a # some :: ZipList a -> ZipList [a] # many :: ZipList a -> ZipList [a] #
Applicative ZipList |
Instance details Defined in Control.Applicative Methods pure :: a -> ZipList a # (<*>) :: ZipList (a -> b) -> ZipList a -> ZipList b # liftA2 :: (a -> b -> c) -> ZipList a -> ZipList b -> ZipList c # (*>) :: ZipList a -> ZipList b -> ZipList b # (<*) :: ZipList a -> ZipList b -> ZipList a #
Functor ZipList |
Instance details Defined in Control.Applicative Methods fmap :: (a -> b) -> ZipList a -> ZipList b # (<$) :: a -> ZipList b -> ZipList a #
NFData1 ZipList |
Instance details Defined in Control.DeepSeq Methods liftRnf :: (a -> ()) -> ZipList a -> ()
Generic1 ZipList |
Instance details Defined in Control.Applicative Associated Types type Rep1 ZipList :: k -> Type Methods from1 :: forall (a :: k). ZipList a -> Rep1 ZipList a to1 :: forall (a :: k). Rep1 ZipList a -> ZipList a
Data a => Data (ZipList a) |
Instance details Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZipList a -> c (ZipList a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ZipList a) toConstr :: ZipList a -> Constr dataTypeOf :: ZipList a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ZipList a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ZipList a)) gmapT :: (forall b. Data b => b -> b) -> ZipList a -> ZipList a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZipList a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZipList a -> r gmapQ :: (forall d. Data d => d -> u) -> ZipList a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ZipList a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZipList a -> m (ZipList a)
Generic (ZipList a) |
Instance details Defined in Control.Applicative Associated Types type Rep (ZipList a) :: Type -> Type Methods from :: ZipList a -> Rep (ZipList a) x to :: Rep (ZipList a) x -> ZipList a
IsList (ZipList a) |
Instance details Defined in GHC.IsList Associated Types type Item (ZipList a) Methods fromList :: [Item (ZipList a)] -> ZipList a fromListN :: Int -> [Item (ZipList a)] -> ZipList a toList :: ZipList a -> [Item (ZipList a)]
Read a => Read (ZipList a) |
Instance details Defined in Control.Applicative Methods readsPrec :: Int -> ReadS (ZipList a) # readList :: ReadS [ZipList a] # readPrec :: ReadPrec (ZipList a) # readListPrec :: ReadPrec [ZipList a] #
Show a => Show (ZipList a) |
Instance details Defined in Control.Applicative Methods showsPrec :: Int -> ZipList a -> ShowS show :: ZipList a -> String showList :: [ZipList a] -> ShowS
NFData a => NFData (ZipList a) |
Instance details Defined in Control.DeepSeq Methods rnf :: ZipList a -> ()
Eq a => Eq (ZipList a) |
Instance details Defined in Control.Applicative Methods (==) :: ZipList a -> ZipList a -> Bool (/=) :: ZipList a -> ZipList a -> Bool
Ord a => Ord (ZipList a) |
Instance details Defined in Control.Applicative Methods compare :: ZipList a -> ZipList a -> Ordering # (<) :: ZipList a -> ZipList a -> Bool # (<=) :: ZipList a -> ZipList a -> Bool # (>) :: ZipList a -> ZipList a -> Bool # (>=) :: ZipList a -> ZipList a -> Bool # max :: ZipList a -> ZipList a -> ZipList a # min :: ZipList a -> ZipList a -> ZipList a #
MonoFunctor (ZipList a) |
Instance details Defined in Data.MonoTraversable Methods omap :: (Element (ZipList a) -> Element (ZipList a)) -> ZipList a -> ZipList a #
MonoPointed (ZipList a) |
Instance details Defined in Data.MonoTraversable Methods opoint :: Element (ZipList a) -> ZipList a #
type Rep1 ZipList |
Instance details Defined in Control.Applicative type Rep1 ZipList = D1 ('MetaData "ZipList" "Control.Applicative" "base" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 List)))
type Rep (ZipList a) |
Instance details Defined in Control.Applicative type Rep (ZipList a) = D1 ('MetaData "ZipList" "Control.Applicative" "base" 'True) (C1 ('MetaCons "ZipList" 'PrefixI 'True) (S1 ('MetaSel ('Just "getZipList") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a])))
type Item (ZipList a) |
Instance details Defined in GHC.IsList type Item (ZipList a) = a
type Element (ZipList a) |
Instance details Defined in Data.MonoTraversable type Element (ZipList a) = a

data GeneralCategory #

Constructors

UppercaseLetter |
LowercaseLetter |
TitlecaseLetter |
ModifierLetter |
OtherLetter |
NonSpacingMark |
SpacingCombiningMark |
EnclosingMark |
DecimalNumber |
LetterNumber |
OtherNumber |
ConnectorPunctuation |
DashPunctuation |
OpenPunctuation |
ClosePunctuation |
InitialQuote |
FinalQuote |
OtherPunctuation |
MathSymbol |
CurrencySymbol |
ModifierSymbol |
OtherSymbol |
Space |
LineSeparator |
ParagraphSeparator |
Control |
Format |
Surrogate |
PrivateUse |
NotAssigned |

#### Instances

Instances details

Bounded GeneralCategory |
Instance details Defined in GHC.Unicode Methods minBound :: GeneralCategory maxBound :: GeneralCategory
Enum GeneralCategory |
Instance details Defined in GHC.Unicode Methods succ :: GeneralCategory -> GeneralCategory pred :: GeneralCategory -> GeneralCategory toEnum :: Int -> GeneralCategory fromEnum :: GeneralCategory -> Int enumFrom :: GeneralCategory -> [GeneralCategory] enumFromThen :: GeneralCategory -> GeneralCategory -> [GeneralCategory] enumFromTo :: GeneralCategory -> GeneralCategory -> [GeneralCategory] enumFromThenTo :: GeneralCategory -> GeneralCategory -> GeneralCategory -> [GeneralCategory]
Generic GeneralCategory |
Instance details Defined in GHC.Generics Associated Types type Rep GeneralCategory :: Type -> Type Methods from :: GeneralCategory -> Rep GeneralCategory x to :: Rep GeneralCategory x -> GeneralCategory
Ix GeneralCategory |
Instance details Defined in GHC.Unicode Methods range :: (GeneralCategory, GeneralCategory) -> [GeneralCategory] index :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int unsafeIndex :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int inRange :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Bool rangeSize :: (GeneralCategory, GeneralCategory) -> Int unsafeRangeSize :: (GeneralCategory, GeneralCategory) -> Int
Read GeneralCategory |
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS GeneralCategory # readList :: ReadS [GeneralCategory] # readPrec :: ReadPrec GeneralCategory # readListPrec :: ReadPrec [GeneralCategory] #
Show GeneralCategory |
Instance details Defined in GHC.Unicode Methods showsPrec :: Int -> GeneralCategory -> ShowS show :: GeneralCategory -> String showList :: [GeneralCategory] -> ShowS
Eq GeneralCategory |
Instance details Defined in GHC.Unicode Methods (==) :: GeneralCategory -> GeneralCategory -> Bool (/=) :: GeneralCategory -> GeneralCategory -> Bool
Ord GeneralCategory |
Instance details Defined in GHC.Unicode Methods compare :: GeneralCategory -> GeneralCategory -> Ordering # (<) :: GeneralCategory -> GeneralCategory -> Bool # (<=) :: GeneralCategory -> GeneralCategory -> Bool # (>) :: GeneralCategory -> GeneralCategory -> Bool # (>=) :: GeneralCategory -> GeneralCategory -> Bool # max :: GeneralCategory -> GeneralCategory -> GeneralCategory # min :: GeneralCategory -> GeneralCategory -> GeneralCategory #
type Rep GeneralCategory |
Instance details Defined in GHC.Generics type Rep GeneralCategory = D1 ('MetaData "GeneralCategory" "GHC.Unicode" "base" 'False) ((((C1 ('MetaCons "UppercaseLetter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LowercaseLetter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TitlecaseLetter" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ModifierLetter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherLetter" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "NonSpacingMark" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SpacingCombiningMark" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "EnclosingMark" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecimalNumber" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LetterNumber" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherNumber" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ConnectorPunctuation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DashPunctuation" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OpenPunctuation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ClosePunctuation" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "InitialQuote" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FinalQuote" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherPunctuation" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "MathSymbol" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CurrencySymbol" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ModifierSymbol" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherSymbol" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "Space" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LineSeparator" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ParagraphSeparator" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Control" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Format" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Surrogate" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PrivateUse" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotAssigned" 'PrefixI 'False) (U1 :: Type -> Type))))))

class HPrintfType t #

Minimal complete definition

hspr

#### Instances

Instances details

a ~ () => HPrintfType (IO a) |
Instance details Defined in Text.Printf Methods hspr :: Handle -> String -> [UPrintf] -> IO a
(PrintfArg a, HPrintfType r) => HPrintfType (a -> r) |
Instance details Defined in Text.Printf Methods hspr :: Handle -> String -> [UPrintf] -> a -> r

class IsChar c where #

Methods

toChar :: c -> Char #

fromChar :: Char -> c #

#### Instances

Instances details

IsChar Char |
Instance details Defined in Text.Printf Methods toChar :: Char -> Char # fromChar :: Char -> Char #

class PrintfArg a where #

Minimal complete definition

formatArg

Methods

formatArg :: a -> FieldFormatter #

parseFormat :: a -> ModifierParser #

#### Instances

Instances details

PrintfArg Int16 |
Instance details Defined in Text.Printf Methods formatArg :: Int16 -> FieldFormatter # parseFormat :: Int16 -> ModifierParser #
PrintfArg Int32 |
Instance details Defined in Text.Printf Methods formatArg :: Int32 -> FieldFormatter # parseFormat :: Int32 -> ModifierParser #
PrintfArg Int64 |
Instance details Defined in Text.Printf Methods formatArg :: Int64 -> FieldFormatter # parseFormat :: Int64 -> ModifierParser #
PrintfArg Int8 |
Instance details Defined in Text.Printf Methods formatArg :: Int8 -> FieldFormatter # parseFormat :: Int8 -> ModifierParser #
PrintfArg Word16 |
Instance details Defined in Text.Printf Methods formatArg :: Word16 -> FieldFormatter # parseFormat :: Word16 -> ModifierParser #
PrintfArg Word32 |
Instance details Defined in Text.Printf Methods formatArg :: Word32 -> FieldFormatter # parseFormat :: Word32 -> ModifierParser #
PrintfArg Word64 |
Instance details Defined in Text.Printf Methods formatArg :: Word64 -> FieldFormatter # parseFormat :: Word64 -> ModifierParser #
PrintfArg Word8 |
Instance details Defined in Text.Printf Methods formatArg :: Word8 -> FieldFormatter # parseFormat :: Word8 -> ModifierParser #
PrintfArg ShortText | Since: text-short-0.1.2
Instance details Defined in Data.Text.Short.Internal Methods formatArg :: ShortText -> FieldFormatter # parseFormat :: ShortText -> ModifierParser #
PrintfArg Integer |
Instance details Defined in Text.Printf Methods formatArg :: Integer -> FieldFormatter # parseFormat :: Integer -> ModifierParser #
PrintfArg Natural |
Instance details Defined in Text.Printf Methods formatArg :: Natural -> FieldFormatter # parseFormat :: Natural -> ModifierParser #
PrintfArg Char |
Instance details Defined in Text.Printf Methods formatArg :: Char -> FieldFormatter # parseFormat :: Char -> ModifierParser #
PrintfArg Double |
Instance details Defined in Text.Printf Methods formatArg :: Double -> FieldFormatter # parseFormat :: Double -> ModifierParser #
PrintfArg Float |
Instance details Defined in Text.Printf Methods formatArg :: Float -> FieldFormatter # parseFormat :: Float -> ModifierParser #
PrintfArg Int |
Instance details Defined in Text.Printf Methods formatArg :: Int -> FieldFormatter # parseFormat :: Int -> ModifierParser #
PrintfArg Word |
Instance details Defined in Text.Printf Methods formatArg :: Word -> FieldFormatter # parseFormat :: Word -> ModifierParser #
IsChar c => PrintfArg [c] |
Instance details Defined in Text.Printf Methods formatArg :: [c] -> FieldFormatter # parseFormat :: [c] -> ModifierParser #

class PrintfType t #

Minimal complete definition

spr

#### Instances

Instances details

a ~ () => PrintfType (IO a) |
Instance details Defined in Text.Printf Methods spr :: String -> [UPrintf] -> IO a
IsChar c => PrintfType [c] |
Instance details Defined in Text.Printf Methods spr :: String -> [UPrintf] -> [c]
(PrintfArg a, PrintfType r) => PrintfType (a -> r) |
Instance details Defined in Text.Printf Methods spr :: String -> [UPrintf] -> a -> r

data FieldFormat #

Constructors

FieldFormat |
Fields fmtWidth :: Maybe Int fmtPrecision :: Maybe Int fmtAdjust :: Maybe FormatAdjustment fmtSign :: Maybe FormatSign fmtAlternate :: Bool fmtModifiers :: String fmtChar :: Char

type FieldFormatter = FieldFormat -> ShowS #

data FormatAdjustment #

Constructors

LeftAdjust |
ZeroPad |

data FormatParse #

Constructors

FormatParse |
Fields fpModifiers :: String fpChar :: Char fpRest :: String

data FormatSign #

Constructors

SignPlus |
SignSpace |

type ModifierParser = String -> FormatParse #

type HasCallStack = ?callStack :: CallStack #

type Tag #

Arguments

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

class Remap (m :: Type -> Type) where #

Like functor, but where the the argument isn't just covariant.

Methods

remap #

Arguments

:: (a -> b) | Embed a value
-> (b -> (a, a -> b)) | Extract the mode and give a way of re-embedding
-> m a |
-> m b |

Convert between two values.

#### Instances

Instances details

Remap Arg |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods remap :: (a -> b) -> (b -> (a, a -> b)) -> Arg a -> Arg b #
Remap Flag |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods remap :: (a -> b) -> (b -> (a, a -> b)) -> Flag a -> Flag b #
Remap Mode |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods remap :: (a -> b) -> (b -> (a, a -> b)) -> Mode a -> Mode b #

data Flag a #

A flag, consisting of a list of flag names and other information.

Constructors

Flag |
Fields flagNames :: [Name] The names for the flag. flagInfo :: FlagInfo Information about a flag's arguments. flagValue :: Update a The way of processing a flag. flagType :: FlagHelp The type of data for the flag argument, i.e. FILE/DIR/EXT flagHelp :: Help The help message associated with this flag.

#### Instances

Instances details

Remap Flag |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods remap :: (a -> b) -> (b -> (a, a -> b)) -> Flag a -> Flag b #

type Update a = String -> a -> Either String a #

A function to take a string, and a value, and either produce an error message (`Left`), or a modified value (`Right`).

data FlagInfo #

The `FlagInfo` type has the following meaning:

                 FlagReq     FlagOpt      FlagOptRare/FlagNone
    -xfoo        -x=foo      -x=foo       -x -foo
    -x foo       -x=foo      -x foo       -x foo
    -x=foo       -x=foo      -x=foo       -x=foo
    --xx foo     --xx=foo    --xx foo     --xx foo
    --xx=foo     --xx=foo    --xx=foo     --xx=foo

Constructors

FlagReq | Required argument
FlagOpt String | Optional argument
FlagOptRare String | Optional argument that requires an = before the value
FlagNone | No argument

#### Instances

Instances details

Show FlagInfo |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods showsPrec :: Int -> FlagInfo -> ShowS show :: FlagInfo -> String showList :: [FlagInfo] -> ShowS
Eq FlagInfo |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods (==) :: FlagInfo -> FlagInfo -> Bool (/=) :: FlagInfo -> FlagInfo -> Bool
Ord FlagInfo |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods compare :: FlagInfo -> FlagInfo -> Ordering # (<) :: FlagInfo -> FlagInfo -> Bool # (<=) :: FlagInfo -> FlagInfo -> Bool # (>) :: FlagInfo -> FlagInfo -> Bool # (>=) :: FlagInfo -> FlagInfo -> Bool # max :: FlagInfo -> FlagInfo -> FlagInfo # min :: FlagInfo -> FlagInfo -> FlagInfo #

data Mode a #

A mode. Do not use the `Mode` constructor directly, instead use `mode` to construct the `Mode` and then record updates. Each mode has three main features:

- A list of submodes (`modeGroupModes`)
- A list of flags (`modeGroupFlags`)
- Optionally an unnamed argument (`modeArgs`)

To produce the help information for a mode, either use `helpText` or `show`.

Constructors

Mode |
Fields modeGroupModes :: Group (Mode a) The available sub-modes modeNames :: [Name] The names assigned to this mode (for the root mode, this name is used as the program name) modeValue :: a Value to start with modeCheck :: a -> Either String a Check the value reprsented by a mode is correct, after applying all flags modeReform :: a -> Maybe [String] Given a value, try to generate the input arguments. modeExpandAt :: Bool Expand `@` arguments with `expandArgsAt`, defaults to `True`, only applied if using an `IO` processing function. Only the root `Mode`s value will be used. modeHelp :: Help Help text modeHelpSuffix :: [String] A longer help suffix displayed after a mode modeArgs :: ([Arg a], Maybe (Arg a)) The unnamed arguments, a series of arguments, followed optionally by one for all remaining slots modeGroupFlags :: Group (Flag a) Groups of flags

#### Instances

Instances details

Remap Mode |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods remap :: (a -> b) -> (b -> (a, a -> b)) -> Mode a -> Mode b #

data Group a #

A group of items (modes or flags). The items are treated as a list, but the group structure is used when displaying the help message.

Constructors

Group |
Fields groupUnnamed :: [a] Normal items. groupHidden :: [a] Items that are hidden (not displayed in the help message). groupNamed :: [(Help, [a])] Items that have been grouped, along with a description of each group.

#### Instances

Instances details

Functor Group |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods fmap :: (a -> b) -> Group a -> Group b # (<$) :: a -> Group b -> Group a #
Monoid (Group a) |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods mempty :: Group a # mappend :: Group a -> Group a -> Group a # mconcat :: [Group a] -> Group a #
Semigroup (Group a) |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods (<>) :: Group a -> Group a -> Group a # sconcat :: NonEmpty (Group a) -> Group a # stimes :: Integral b => b -> Group a -> Group a #
Show a => Show (Group a) |
Instance details Defined in System.Console.CmdArgs.Explicit.Type Methods showsPrec :: Int -> Group a -> ShowS show :: Group a -> String showList :: [Group a] -> ShowS

type FlagHelp = String #

The type of a flag, i.e. `--foo=TYPE`.

type Help = String #

A help message that goes with either a flag or a mode.

data HelpFormat #

Specify the format to output the help.

Constructors

HelpFormatDefault | Equivalent to `HelpFormatAll` if there is not too much text, otherwise `HelpFormatOne`.
HelpFormatOne | Display only the first mode.
HelpFormatAll | Display all modes.
HelpFormatBash | Bash completion information
HelpFormatZsh | Z shell completion information

#### Instances

Instances details

Bounded HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods minBound :: HelpFormat maxBound :: HelpFormat
Enum HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods succ :: HelpFormat -> HelpFormat pred :: HelpFormat -> HelpFormat toEnum :: Int -> HelpFormat fromEnum :: HelpFormat -> Int enumFrom :: HelpFormat -> [HelpFormat] enumFromThen :: HelpFormat -> HelpFormat -> [HelpFormat] enumFromTo :: HelpFormat -> HelpFormat -> [HelpFormat] enumFromThenTo :: HelpFormat -> HelpFormat -> HelpFormat -> [HelpFormat]
Read HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods readsPrec :: Int -> ReadS HelpFormat # readList :: ReadS [HelpFormat] # readPrec :: ReadPrec HelpFormat # readListPrec :: ReadPrec [HelpFormat] #
Show HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods showsPrec :: Int -> HelpFormat -> ShowS show :: HelpFormat -> String showList :: [HelpFormat] -> ShowS
Default HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods def :: HelpFormat #
Eq HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods (==) :: HelpFormat -> HelpFormat -> Bool (/=) :: HelpFormat -> HelpFormat -> Bool
Ord HelpFormat |
Instance details Defined in System.Console.CmdArgs.Explicit.Help Methods compare :: HelpFormat -> HelpFormat -> Ordering # (<) :: HelpFormat -> HelpFormat -> Bool # (<=) :: HelpFormat -> HelpFormat -> Bool # (>) :: HelpFormat -> HelpFormat -> Bool # (>=) :: HelpFormat -> HelpFormat -> Bool # max :: HelpFormat -> HelpFormat -> HelpFormat # min :: HelpFormat -> HelpFormat -> HelpFormat #

data Reader (m :: Type -> Type) #

A hledger journal reader is a triple of storage format name, a detector of that format, and a parser from that format to Journal. The type variable m appears here so that rParserr can hold a journal parser, which depends on it.

Constructors

Reader |
Fields rFormat :: StorageFormat rExtensions :: [String] rReadFn :: InputOpts -> FilePath -> Text -> ExceptT String IO Journal rParser :: MonadIO m => ErroringJournalParser m ParsedJournal

#### Instances

Instances details

Show (Reader m) |
Instance details Defined in Hledger.Read.Common Methods showsPrec :: Int -> Reader m -> ShowS show :: Reader m -> String showList :: [Reader m] -> ShowS

data ProcessHandle #

data StdStream #

Constructors

Inherit |
UseHandle Handle |
CreatePipe |
NoStream |

#### Instances

Instances details

Show StdStream |
Instance details Defined in System.Process.Common Methods showsPrec :: Int -> StdStream -> ShowS show :: StdStream -> String showList :: [StdStream] -> ShowS
Eq StdStream |
Instance details Defined in System.Process.Common Methods (==) :: StdStream -> StdStream -> Bool (/=) :: StdStream -> StdStream -> Bool

data CmdSpec #

Constructors

ShellCommand String |
RawCommand FilePath [String] |

#### Instances

Instances details

IsString CmdSpec |
Instance details Defined in System.Process.Common Methods fromString :: String -> CmdSpec
Show CmdSpec |
Instance details Defined in System.Process.Common Methods showsPrec :: Int -> CmdSpec -> ShowS show :: CmdSpec -> String showList :: [CmdSpec] -> ShowS
Eq CmdSpec |
Instance details Defined in System.Process.Common Methods (==) :: CmdSpec -> CmdSpec -> Bool (/=) :: CmdSpec -> CmdSpec -> Bool

data CreateProcess #

Constructors

CreateProcess |
Fields cmdspec :: CmdSpec cwd :: Maybe FilePath env :: Maybe [(String, String)] std_in :: StdStream std_out :: StdStream std_err :: StdStream close_fds :: Bool create_group :: Bool delegate_ctlc :: Bool detach_console :: Bool create_new_console :: Bool new_session :: Bool child_group :: Maybe GroupID child_user :: Maybe UserID use_process_jobs :: Bool

#### Instances

Instances details

Show CreateProcess |
Instance details Defined in System.Process.Common Methods showsPrec :: Int -> CreateProcess -> ShowS show :: CreateProcess -> String showList :: [CreateProcess] -> ShowS
Eq CreateProcess |
Instance details Defined in System.Process.Common Methods (==) :: CreateProcess -> CreateProcess -> Bool (/=) :: CreateProcess -> CreateProcess -> Bool

type Pid = CPid #

data Permissions #

#### Instances

Instances details

Read Permissions |
Instance details Defined in System.Directory.Internal.Common Methods readsPrec :: Int -> ReadS Permissions # readList :: ReadS [Permissions] # readPrec :: ReadPrec Permissions # readListPrec :: ReadPrec [Permissions] #
Show Permissions |
Instance details Defined in System.Directory.Internal.Common Methods showsPrec :: Int -> Permissions -> ShowS show :: Permissions -> String showList :: [Permissions] -> ShowS
Eq Permissions |
Instance details Defined in System.Directory.Internal.Common Methods (==) :: Permissions -> Permissions -> Bool (/=) :: Permissions -> Permissions -> Bool
Ord Permissions |
Instance details Defined in System.Directory.Internal.Common Methods compare :: Permissions -> Permissions -> Ordering # (<) :: Permissions -> Permissions -> Bool # (<=) :: Permissions -> Permissions -> Bool # (>) :: Permissions -> Permissions -> Bool # (>=) :: Permissions -> Permissions -> Bool # max :: Permissions -> Permissions -> Permissions # min :: Permissions -> Permissions -> Permissions #

data XdgDirectory #

Constructors

XdgData |
XdgConfig |
XdgCache |
XdgState |

#### Instances

Instances details

Bounded XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods minBound :: XdgDirectory maxBound :: XdgDirectory
Enum XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods succ :: XdgDirectory -> XdgDirectory pred :: XdgDirectory -> XdgDirectory toEnum :: Int -> XdgDirectory fromEnum :: XdgDirectory -> Int enumFrom :: XdgDirectory -> [XdgDirectory] enumFromThen :: XdgDirectory -> XdgDirectory -> [XdgDirectory] enumFromTo :: XdgDirectory -> XdgDirectory -> [XdgDirectory] enumFromThenTo :: XdgDirectory -> XdgDirectory -> XdgDirectory -> [XdgDirectory]
Read XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods readsPrec :: Int -> ReadS XdgDirectory # readList :: ReadS [XdgDirectory] # readPrec :: ReadPrec XdgDirectory # readListPrec :: ReadPrec [XdgDirectory] #
Show XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods showsPrec :: Int -> XdgDirectory -> ShowS show :: XdgDirectory -> String showList :: [XdgDirectory] -> ShowS
Eq XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods (==) :: XdgDirectory -> XdgDirectory -> Bool (/=) :: XdgDirectory -> XdgDirectory -> Bool
Ord XdgDirectory |
Instance details Defined in System.Directory.Internal.Common Methods compare :: XdgDirectory -> XdgDirectory -> Ordering # (<) :: XdgDirectory -> XdgDirectory -> Bool # (<=) :: XdgDirectory -> XdgDirectory -> Bool # (>) :: XdgDirectory -> XdgDirectory -> Bool # (>=) :: XdgDirectory -> XdgDirectory -> Bool # max :: XdgDirectory -> XdgDirectory -> XdgDirectory # min :: XdgDirectory -> XdgDirectory -> XdgDirectory #

data XdgDirectoryList #

Constructors

XdgDataDirs |
XdgConfigDirs |

#### Instances

Instances details

Bounded XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods minBound :: XdgDirectoryList maxBound :: XdgDirectoryList
Enum XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods succ :: XdgDirectoryList -> XdgDirectoryList pred :: XdgDirectoryList -> XdgDirectoryList toEnum :: Int -> XdgDirectoryList fromEnum :: XdgDirectoryList -> Int enumFrom :: XdgDirectoryList -> [XdgDirectoryList] enumFromThen :: XdgDirectoryList -> XdgDirectoryList -> [XdgDirectoryList] enumFromTo :: XdgDirectoryList -> XdgDirectoryList -> [XdgDirectoryList] enumFromThenTo :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList -> [XdgDirectoryList]
Read XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods readsPrec :: Int -> ReadS XdgDirectoryList # readList :: ReadS [XdgDirectoryList] # readPrec :: ReadPrec XdgDirectoryList # readListPrec :: ReadPrec [XdgDirectoryList] #
Show XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods showsPrec :: Int -> XdgDirectoryList -> ShowS show :: XdgDirectoryList -> String showList :: [XdgDirectoryList] -> ShowS
Eq XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods (==) :: XdgDirectoryList -> XdgDirectoryList -> Bool (/=) :: XdgDirectoryList -> XdgDirectoryList -> Bool
Ord XdgDirectoryList |
Instance details Defined in System.Directory.Internal.Common Methods compare :: XdgDirectoryList -> XdgDirectoryList -> Ordering # (<) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (<=) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (>) :: XdgDirectoryList -> XdgDirectoryList -> Bool # (>=) :: XdgDirectoryList -> XdgDirectoryList -> Bool # max :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList # min :: XdgDirectoryList -> XdgDirectoryList -> XdgDirectoryList #

data SourcePos #

The data type `SourcePos` represents source positions. It contains the name of the source file, a line number, and a column number. Source line and column positions change intensively during parsing, so we need to make them strict to avoid memory leaks.

Constructors

SourcePos |
Fields sourceName :: FilePath Name of source file sourceLine :: !Pos Line number sourceColumn :: !Pos Column number

#### Instances

Instances details

Data SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourcePos -> c SourcePos gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourcePos toConstr :: SourcePos -> Constr dataTypeOf :: SourcePos -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourcePos) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourcePos) gmapT :: (forall b. Data b => b -> b) -> SourcePos -> SourcePos gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourcePos -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourcePos -> r gmapQ :: (forall d. Data d => d -> u) -> SourcePos -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SourcePos -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourcePos -> m SourcePos gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourcePos -> m SourcePos gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourcePos -> m SourcePos
Generic SourcePos |
Instance details Defined in Text.Megaparsec.Pos Associated Types type Rep SourcePos :: Type -> Type Methods from :: SourcePos -> Rep SourcePos x to :: Rep SourcePos x -> SourcePos
Read SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods readsPrec :: Int -> ReadS SourcePos # readList :: ReadS [SourcePos] # readPrec :: ReadPrec SourcePos # readListPrec :: ReadPrec [SourcePos] #
Show SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods showsPrec :: Int -> SourcePos -> ShowS show :: SourcePos -> String showList :: [SourcePos] -> ShowS
NFData SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods rnf :: SourcePos -> ()
Eq SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods (==) :: SourcePos -> SourcePos -> Bool (/=) :: SourcePos -> SourcePos -> Bool
Ord SourcePos |
Instance details Defined in Text.Megaparsec.Pos Methods compare :: SourcePos -> SourcePos -> Ordering # (<) :: SourcePos -> SourcePos -> Bool # (<=) :: SourcePos -> SourcePos -> Bool # (>) :: SourcePos -> SourcePos -> Bool # (>=) :: SourcePos -> SourcePos -> Bool # max :: SourcePos -> SourcePos -> SourcePos # min :: SourcePos -> SourcePos -> SourcePos #
type Rep SourcePos |
Instance details Defined in Text.Megaparsec.Pos type Rep SourcePos = D1 ('MetaData "SourcePos" "Text.Megaparsec.Pos" "megaparsec-9.6.0-6cDk6wja3Qf4Glh1AI6lFI" 'False) (C1 ('MetaCons "SourcePos" 'PrefixI 'True) (S1 ('MetaSel ('Just "sourceName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: (S1 ('MetaSel ('Just "sourceLine") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Pos) :*: S1 ('MetaSel ('Just "sourceColumn") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Pos))))

data Timeout #

Timeout to be applied to individual tests.

Since: tasty-0.8

Constructors

Timeout Integer String | `String` is the original representation of the timeout (such as `"0.5m"`), so that we can print it back. `Integer` is the number of microseconds.
NoTimeout |

#### Instances

Instances details

Show Timeout |
Instance details Defined in Test.Tasty.Options.Core Methods showsPrec :: Int -> Timeout -> ShowS show :: Timeout -> String showList :: [Timeout] -> ShowS
IsOption Timeout |
Instance details Defined in Test.Tasty.Options.Core Methods defaultValue :: Timeout # parseValue :: String -> Maybe Timeout # optionName :: Tagged Timeout String # optionHelp :: Tagged Timeout String # showDefaultValue :: Timeout -> Maybe String # optionCLParser :: Parser Timeout #

data TestTree #

The main data structure defining a test suite.

It consists of individual test cases and properties, organized in named groups which form a tree-like hierarchy.

There is no generic way to create a test case. Instead, every test provider (tasty-hunit, tasty-smallcheck etc.) provides a function to turn a test case into a `TestTree`.

Groups can be created using `testGroup`.

Since: tasty-0.1

data DependencyType #

These are the two ways in which one test may depend on the others.

This is the same distinction as the hard vs soft dependencies in TestNG.

Since: tasty-1.2

Constructors

AllSucceed | The current test tree will be executed after its dependencies finish, and only if all of the dependencies succeed.
AllFinish | The current test tree will be executed after its dependencies finish, regardless of whether they succeed or not.

#### Instances

Instances details

Read DependencyType | Since: tasty-1.5
Instance details Defined in Test.Tasty.Core Methods readsPrec :: Int -> ReadS DependencyType # readList :: ReadS [DependencyType] # readPrec :: ReadPrec DependencyType # readListPrec :: ReadPrec [DependencyType] #
Show DependencyType |
Instance details Defined in Test.Tasty.Core Methods showsPrec :: Int -> DependencyType -> ShowS show :: DependencyType -> String showList :: [DependencyType] -> ShowS
Eq DependencyType |
Instance details Defined in Test.Tasty.Core Methods (==) :: DependencyType -> DependencyType -> Bool (/=) :: DependencyType -> DependencyType -> Bool

type TestName = String #

The name of a test or a group of tests.

Since: tasty-0.1

type Year = Integer #

type RegexError = String #

An error message arising during a regular expression operation. Eg: trying to compile a malformed regular expression, or trying to apply a malformed replacement pattern.

type Replacement = String #

A replacement pattern. May include numeric backreferences (N).

data Regexp #

Regular expression. Extended regular expression-ish syntax ? But does not support eg (?i) syntax.

#### Instances

Instances details

ToJSON Regexp |
Instance details Defined in Hledger.Utils.Regex Methods toJSON :: Regexp -> Value # toEncoding :: Regexp -> Encoding # toJSONList :: [Regexp] -> Value # toEncodingList :: [Regexp] -> Encoding # omitField :: Regexp -> Bool #
Read Regexp |
Instance details Defined in Hledger.Utils.Regex Methods readsPrec :: Int -> ReadS Regexp # readList :: ReadS [Regexp] # readPrec :: ReadPrec Regexp # readListPrec :: ReadPrec [Regexp] #
Show Regexp |
Instance details Defined in Hledger.Utils.Regex Methods showsPrec :: Int -> Regexp -> ShowS show :: Regexp -> String showList :: [Regexp] -> ShowS
Eq Regexp |
Instance details Defined in Hledger.Utils.Regex Methods (==) :: Regexp -> Regexp -> Bool (/=) :: Regexp -> Regexp -> Bool
Ord Regexp |
Instance details Defined in Hledger.Utils.Regex Methods compare :: Regexp -> Regexp -> Ordering # (<) :: Regexp -> Regexp -> Bool # (<=) :: Regexp -> Regexp -> Bool # (>) :: Regexp -> Regexp -> Bool # (>=) :: Regexp -> Regexp -> Bool # max :: Regexp -> Regexp -> Regexp # min :: Regexp -> Regexp -> Regexp #
RegexLike Regexp String |
Instance details Defined in Hledger.Utils.Regex Methods matchOnce :: Regexp -> String -> Maybe MatchArray # matchAll :: Regexp -> String -> [MatchArray] # matchCount :: Regexp -> String -> Int # matchTest :: Regexp -> String -> Bool # matchAllText :: Regexp -> String -> [MatchText String] # matchOnceText :: Regexp -> String -> Maybe (String, MatchText String, String) #
RegexContext Regexp String String |
Instance details Defined in Hledger.Utils.Regex Methods match :: Regexp -> String -> String # matchM :: MonadFail m => Regexp -> String -> m String #

data Ledger #

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

Instances details

Generic Ledger |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Ledger :: Type -> Type Methods from :: Ledger -> Rep Ledger x to :: Rep Ledger x -> Ledger
type Rep Ledger |
Instance details Defined in Hledger.Data.Types type Rep Ledger = D1 ('MetaData "Ledger" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "Ledger" 'PrefixI 'True) (S1 ('MetaSel ('Just "ljournal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Journal) :*: S1 ('MetaSel ('Just "laccounts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Account])))

data NormalSign #

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

Instances details

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

data Account #

An account, with its balances, parent/subaccount relationships, etc. Only the name is required; the other fields are added when needed.

Constructors

Account |
Fields aname :: AccountName this account's full name adeclarationinfo :: Maybe AccountDeclarationInfo optional extra info from account directives relationships in the tree asubs :: [Account] this account's sub-accounts aparent :: Maybe Account parent account aboring :: Bool used in the accounts report to label elidable parents balance information anumpostings :: Int the number of postings to this account aebalance :: MixedAmount this account's balance, excluding subaccounts aibalance :: MixedAmount this account's balance, including subaccounts

#### Instances

Instances details

Generic Account |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Account :: Type -> Type Methods from :: Account -> Rep Account x to :: Rep Account x -> Account
type Rep Account |
Instance details Defined in Hledger.Data.Types type Rep Account = D1 ('MetaData "Account" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 AccountDeclarationInfo #

Extra information about an account that can be derived from its account directive (and the other account directives).

Constructors

AccountDeclarationInfo |
Fields adicomment :: Text any comment lines following an account directive for this account aditags :: [Tag] tags extracted from the account comment, if any adideclarationorder :: Int the order in which this account was declared, relative to other account declarations, during parsing (1..) adisourcepos :: SourcePos source file and position

#### Instances

Instances details

Generic AccountDeclarationInfo |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AccountDeclarationInfo :: Type -> Type Methods from :: AccountDeclarationInfo -> Rep AccountDeclarationInfo x to :: Rep AccountDeclarationInfo x -> AccountDeclarationInfo
Show AccountDeclarationInfo |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountDeclarationInfo -> ShowS show :: AccountDeclarationInfo -> String showList :: [AccountDeclarationInfo] -> ShowS
Eq AccountDeclarationInfo |
Instance details Defined in Hledger.Data.Types Methods (==) :: AccountDeclarationInfo -> AccountDeclarationInfo -> Bool (/=) :: AccountDeclarationInfo -> AccountDeclarationInfo -> Bool
type Rep AccountDeclarationInfo |
Instance details Defined in Hledger.Data.Types type Rep AccountDeclarationInfo = D1 ('MetaData "AccountDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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) :*: S1 ('MetaSel ('Just "adisourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourcePos))))

newtype TagDeclarationInfo #

Extra information found in a tag directive.

Constructors

TagDeclarationInfo |
Fields tdicomment :: Text any comment lines following the tag directive. No tags allowed here.

#### Instances

Instances details

Generic TagDeclarationInfo |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TagDeclarationInfo :: Type -> Type Methods from :: TagDeclarationInfo -> Rep TagDeclarationInfo x to :: Rep TagDeclarationInfo x -> TagDeclarationInfo
Show TagDeclarationInfo |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> TagDeclarationInfo -> ShowS show :: TagDeclarationInfo -> String showList :: [TagDeclarationInfo] -> ShowS
Eq TagDeclarationInfo |
Instance details Defined in Hledger.Data.Types Methods (==) :: TagDeclarationInfo -> TagDeclarationInfo -> Bool (/=) :: TagDeclarationInfo -> TagDeclarationInfo -> Bool
type Rep TagDeclarationInfo |
Instance details Defined in Hledger.Data.Types type Rep TagDeclarationInfo = D1 ('MetaData "TagDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'True) (C1 ('MetaCons "TagDeclarationInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "tdicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data PayeeDeclarationInfo #

Extra information found in a payee directive.

Constructors

PayeeDeclarationInfo |
Fields pdicomment :: Text any comment lines following the payee directive pditags :: [Tag] tags extracted from the comment, if any

#### Instances

Instances details

Generic PayeeDeclarationInfo |
Instance details Defined in Hledger.Data.Types Associated Types type Rep PayeeDeclarationInfo :: Type -> Type Methods from :: PayeeDeclarationInfo -> Rep PayeeDeclarationInfo x to :: Rep PayeeDeclarationInfo x -> PayeeDeclarationInfo
Show PayeeDeclarationInfo |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> PayeeDeclarationInfo -> ShowS show :: PayeeDeclarationInfo -> String showList :: [PayeeDeclarationInfo] -> ShowS
Eq PayeeDeclarationInfo |
Instance details Defined in Hledger.Data.Types Methods (==) :: PayeeDeclarationInfo -> PayeeDeclarationInfo -> Bool (/=) :: PayeeDeclarationInfo -> PayeeDeclarationInfo -> Bool
type Rep PayeeDeclarationInfo |
Instance details Defined in Hledger.Data.Types type Rep PayeeDeclarationInfo = D1 ('MetaData "PayeeDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "PayeeDeclarationInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "pdicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "pditags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Tag])))

type StorageFormat = String #

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

type ParsedJournal = Journal #

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

data Journal #

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 jparsedecimalmark :: Maybe DecimalMark the character to always parse as decimal point, if set by CsvReader's decimal-mark (or a future journal 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] jdeclaredpayees :: [(Payee, PayeeDeclarationInfo)] Payees declared by payee directives, in parse order (after journal finalisation) jdeclaredtags :: [(TagName, TagDeclarationInfo)] Tags declared by tag directives, in parse order (after journal finalisation) jdeclaredaccounts :: [(AccountName, AccountDeclarationInfo)] Accounts declared by account directives, in parse order (after journal finalisation) jdeclaredaccounttags :: Map AccountName [Tag] Accounts which have tags declared in their directives, and those tags. (Does not include parents' tags.) jdeclaredaccounttypes :: Map AccountType [AccountName] Accounts whose type has been explicitly declared in their account directives, grouped by type. jaccounttypes :: Map AccountName AccountType All accounts for which a type has been declared or can be inferred from its parent or its name. jglobalcommoditystyles :: Map CommoditySymbol AmountStyle per-commodity display styles declared globally, eg by command line option or import command jcommodities :: Map CommoditySymbol Commodity commodities and formats declared by commodity directives jinferredcommodities :: Map CommoditySymbol AmountStyle commodities and formats inferred from journal amounts jpricedirectives :: [PriceDirective] Declarations of market prices by P directives, in parse order (after journal finalisation) jinferredmarketprices :: [MarketPrice] Market prices implied by transactions, in parse order (after journal finalisation) 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. TODO: FilePath is a sloppy type here, don't assume it's a real file; values like "", "-", "(string)" can be seen jlastreadtime :: POSIXTime when this journal was last read from its file(s) NOTE: after adding new fields, eg involving account names, consider updating the Anon instance in Hleger.Cli.Anon

#### Instances

Instances details

Generic Journal |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Journal :: Type -> Type Methods from :: Journal -> Rep Journal x to :: Rep Journal x -> Journal
Eq Journal |
Instance details Defined in Hledger.Data.Types Methods (==) :: Journal -> Journal -> Bool (/=) :: Journal -> Journal -> Bool
Anon Journal # |
Instance details Defined in Hledger.Cli.Anon Methods anon :: Journal -> Journal #
type Rep Journal |
Instance details Defined in Hledger.Data.Types type Rep Journal = D1 ('MetaData "Journal" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 "jparsedecimalmark") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe DecimalMark)))) :*: (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 "jdeclaredpayees") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Payee, PayeeDeclarationInfo)]) :*: S1 ('MetaSel ('Just "jdeclaredtags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(TagName, TagDeclarationInfo)]))) :*: (S1 ('MetaSel ('Just "jdeclaredaccounts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(AccountName, AccountDeclarationInfo)]) :*: (S1 ('MetaSel ('Just "jdeclaredaccounttags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map AccountName [Tag])) :*: S1 ('MetaSel ('Just "jdeclaredaccounttypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map AccountType [AccountName])))))) :*: (((S1 ('MetaSel ('Just "jaccounttypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map AccountName AccountType)) :*: (S1 ('MetaSel ('Just "jglobalcommoditystyles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map CommoditySymbol AmountStyle)) :*: 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 "jpricedirectives") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PriceDirective]) :*: S1 ('MetaSel ('Just "jinferredmarketprices") '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 POSIXTime)))))))

data MarketPrice #

A historical market price (exchange rate) from one commodity to another. A more concise form of a PriceDirective, without the amount display info.

Constructors

MarketPrice |
Fields mpdate :: Day Date on which this price becomes effective. mpfrom :: CommoditySymbol The commodity being converted from. mpto :: CommoditySymbol The commodity being converted to. mprate :: Quantity One unit of the "from" commodity is worth this quantity of the "to" commodity.

#### Instances

Instances details

Generic MarketPrice |
Instance details Defined in Hledger.Data.Types Associated Types type Rep MarketPrice :: Type -> Type Methods from :: MarketPrice -> Rep MarketPrice x to :: Rep MarketPrice x -> MarketPrice
Show MarketPrice |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> MarketPrice -> ShowS show :: MarketPrice -> String showList :: [MarketPrice] -> ShowS
Eq MarketPrice |
Instance details Defined in Hledger.Data.Types Methods (==) :: MarketPrice -> MarketPrice -> Bool (/=) :: MarketPrice -> MarketPrice -> Bool
Ord MarketPrice |
Instance details 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 #
type Rep MarketPrice |
Instance details Defined in Hledger.Data.Types type Rep MarketPrice = D1 ('MetaData "MarketPrice" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "MarketPrice" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mpdate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "mpfrom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CommoditySymbol)) :*: (S1 ('MetaSel ('Just "mpto") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "mprate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity))))

data PriceDirective #

A market price declaration made by the journal format's P directive. It declares two things: a historical exchange rate between two commodities, and an amount display style for the second commodity.

Constructors

PriceDirective |
Fields pddate :: Day pdcommodity :: CommoditySymbol pdamount :: Amount

#### Instances

Instances details

Generic PriceDirective |
Instance details Defined in Hledger.Data.Types Associated Types type Rep PriceDirective :: Type -> Type Methods from :: PriceDirective -> Rep PriceDirective x to :: Rep PriceDirective x -> PriceDirective
Show PriceDirective |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> PriceDirective -> ShowS show :: PriceDirective -> String showList :: [PriceDirective] -> ShowS
Eq PriceDirective |
Instance details Defined in Hledger.Data.Types Methods (==) :: PriceDirective -> PriceDirective -> Bool (/=) :: PriceDirective -> PriceDirective -> Bool
Ord PriceDirective |
Instance details Defined in Hledger.Data.Types Methods compare :: PriceDirective -> PriceDirective -> Ordering # (<) :: PriceDirective -> PriceDirective -> Bool # (<=) :: PriceDirective -> PriceDirective -> Bool # (>) :: PriceDirective -> PriceDirective -> Bool # (>=) :: PriceDirective -> PriceDirective -> Bool # max :: PriceDirective -> PriceDirective -> PriceDirective # min :: PriceDirective -> PriceDirective -> PriceDirective #
type Rep PriceDirective |
Instance details Defined in Hledger.Data.Types type Rep PriceDirective = D1 ('MetaData "PriceDirective" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "PriceDirective" 'PrefixI 'True) (S1 ('MetaSel ('Just "pddate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: (S1 ('MetaSel ('Just "pdcommodity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "pdamount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Amount))))

data TimeclockEntry #

Constructors

TimeclockEntry |
Fields tlsourcepos :: SourcePos tlcode :: TimeclockCode tldatetime :: LocalTime tlaccount :: AccountName tldescription :: Text tlcomment :: Text tltags :: [Tag]

#### Instances

Instances details

Generic TimeclockEntry |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TimeclockEntry :: Type -> Type Methods from :: TimeclockEntry -> Rep TimeclockEntry x to :: Rep TimeclockEntry x -> TimeclockEntry
Eq TimeclockEntry |
Instance details Defined in Hledger.Data.Types Methods (==) :: TimeclockEntry -> TimeclockEntry -> Bool (/=) :: TimeclockEntry -> TimeclockEntry -> Bool
Ord TimeclockEntry |
Instance details 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 #
type Rep TimeclockEntry |
Instance details Defined in Hledger.Data.Types type Rep TimeclockEntry = D1 ('MetaData "TimeclockEntry" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "TimeclockEntry" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tlsourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SourcePos) :*: (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)) :*: (S1 ('MetaSel ('Just "tlcomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tltags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Tag])))))

data TimeclockCode #

Constructors

SetBalance |
SetRequiredHours |
In |
Out |
FinalOut |

#### Instances

Instances details

Generic TimeclockCode |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TimeclockCode :: Type -> Type Methods from :: TimeclockCode -> Rep TimeclockCode x to :: Rep TimeclockCode x -> TimeclockCode
Eq TimeclockCode |
Instance details Defined in Hledger.Data.Types Methods (==) :: TimeclockCode -> TimeclockCode -> Bool (/=) :: TimeclockCode -> TimeclockCode -> Bool
Ord TimeclockCode |
Instance details 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 #
type Rep TimeclockCode |
Instance details Defined in Hledger.Data.Types type Rep TimeclockCode = D1 ('MetaData "TimeclockCode" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 PeriodicTransaction #

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. ptsourcepos :: (SourcePos, SourcePos) the file position where the period expression starts, and where the last posting ends ptstatus :: Status some of Transaction's fields ptcode :: Text ptdescription :: Text ptcomment :: Text pttags :: [Tag] ptpostings :: [Posting]

#### Instances

Instances details

Generic PeriodicTransaction |
Instance details Defined in Hledger.Data.Types Associated Types type Rep PeriodicTransaction :: Type -> Type Methods from :: PeriodicTransaction -> Rep PeriodicTransaction x to :: Rep PeriodicTransaction x -> PeriodicTransaction
Eq PeriodicTransaction |
Instance details Defined in Hledger.Data.Types Methods (==) :: PeriodicTransaction -> PeriodicTransaction -> Bool (/=) :: PeriodicTransaction -> PeriodicTransaction -> Bool
type Rep PeriodicTransaction |
Instance details Defined in Hledger.Data.Types type Rep PeriodicTransaction = D1 ('MetaData "PeriodicTransaction" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 "ptsourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SourcePos, SourcePos)) :*: 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 TMPostingRule #

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

Constructors

TMPostingRule |
Fields tmprPosting :: Posting tmprIsMultiplier :: Bool

#### Instances

Instances details

Generic TMPostingRule |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TMPostingRule :: Type -> Type Methods from :: TMPostingRule -> Rep TMPostingRule x to :: Rep TMPostingRule x -> TMPostingRule
Show TMPostingRule |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> TMPostingRule -> ShowS show :: TMPostingRule -> String showList :: [TMPostingRule] -> ShowS
Eq TMPostingRule |
Instance details Defined in Hledger.Data.Types Methods (==) :: TMPostingRule -> TMPostingRule -> Bool (/=) :: TMPostingRule -> TMPostingRule -> Bool
type Rep TMPostingRule |
Instance details Defined in Hledger.Data.Types type Rep TMPostingRule = D1 ('MetaData "TMPostingRule" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "TMPostingRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "tmprPosting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Posting) :*: S1 ('MetaSel ('Just "tmprIsMultiplier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data TransactionModifier #

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

Instances details

Generic TransactionModifier |
Instance details Defined in Hledger.Data.Types Associated Types type Rep TransactionModifier :: Type -> Type Methods from :: TransactionModifier -> Rep TransactionModifier x to :: Rep TransactionModifier x -> TransactionModifier
Show TransactionModifier |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> TransactionModifier -> ShowS show :: TransactionModifier -> String showList :: [TransactionModifier] -> ShowS
Eq TransactionModifier |
Instance details Defined in Hledger.Data.Types Methods (==) :: TransactionModifier -> TransactionModifier -> Bool (/=) :: TransactionModifier -> TransactionModifier -> Bool
type Rep TransactionModifier |
Instance details Defined in Hledger.Data.Types type Rep TransactionModifier = D1 ('MetaData "TransactionModifier" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "TransactionModifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "tmquerytxt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "tmpostingrules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TMPostingRule])))

data Transaction #

Constructors

Transaction |
Fields tindex :: Integer this transaction's 1-based position in the transaction stream, or 0 when not available tprecedingcomment :: Text any comment lines immediately preceding this transaction tsourcepos :: (SourcePos, SourcePos) the file position where the date starts, and where the last posting ends 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

#### Instances

Instances details

Generic Transaction |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Transaction :: Type -> Type Methods from :: Transaction -> Rep Transaction x to :: Rep Transaction x -> Transaction
Show Transaction |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Transaction -> ShowS show :: Transaction -> String showList :: [Transaction] -> ShowS
Eq Transaction |
Instance details Defined in Hledger.Data.Types Methods (==) :: Transaction -> Transaction -> Bool (/=) :: Transaction -> Transaction -> Bool
Anon Transaction # |
Instance details Defined in Hledger.Cli.Anon Methods anon :: Transaction -> Transaction #
type Rep Transaction |
Instance details Defined in Hledger.Data.Types type Rep Transaction = D1 ('MetaData "Transaction" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 (SourcePos, SourcePos)) :*: (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 Posting #

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 posting comment and (after finalisation) the posting account's directive if any pbalanceassertion :: Maybe BalanceAssertion an expected balance in the account after this posting, in a single commodity, excluding subaccounts. ptransaction :: Maybe Transaction this posting's parent transaction (co-recursive types). Tying this knot gets tedious, Maybe makes it easier/optional. poriginal :: 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

Instances details

Generic Posting |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Posting :: Type -> Type Methods from :: Posting -> Rep Posting x to :: Rep Posting x -> Posting
Show Posting | 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 show :: Posting -> String showList :: [Posting] -> ShowS
Eq Posting |
Instance details Defined in Hledger.Data.Types Methods (==) :: Posting -> Posting -> Bool (/=) :: Posting -> Posting -> Bool
Anon Posting # |
Instance details Defined in Hledger.Cli.Anon Methods anon :: Posting -> Posting #
type Rep Posting |
Instance details Defined in Hledger.Data.Types type Rep Posting = D1 ('MetaData "Posting" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 BalanceAssertion #

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.

A balance assignments is an instruction to hledger to adjust an account's balance to a certain amount at a certain point.

The `BalanceAssertion` type is used for representing both of these.

hledger supports multiple kinds of balance assertions/assignments, which differ in whether they refer to a single commodity or all commodities, and the (subaccount-)inclusive or exclusive account balance.

Constructors

BalanceAssertion |
Fields baamount :: Amount the expected balance in a particular commodity batotal :: Bool disallow additional non-asserted commodities ? bainclusive :: Bool include subaccounts when calculating the actual balance ? baposition :: SourcePos the assertion's file position, for error reporting

#### Instances

Instances details

Generic BalanceAssertion |
Instance details Defined in Hledger.Data.Types Associated Types type Rep BalanceAssertion :: Type -> Type Methods from :: BalanceAssertion -> Rep BalanceAssertion x to :: Rep BalanceAssertion x -> BalanceAssertion
Show BalanceAssertion |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> BalanceAssertion -> ShowS show :: BalanceAssertion -> String showList :: [BalanceAssertion] -> ShowS
Eq BalanceAssertion |
Instance details Defined in Hledger.Data.Types Methods (==) :: BalanceAssertion -> BalanceAssertion -> Bool (/=) :: BalanceAssertion -> BalanceAssertion -> Bool
type Rep BalanceAssertion |
Instance details Defined in Hledger.Data.Types type Rep BalanceAssertion = D1 ('MetaData "BalanceAssertion" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 SourcePos))))

data Status #

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

Instances details

Bounded Status |
Instance details Defined in Hledger.Data.Types Methods minBound :: Status maxBound :: Status
Enum Status |
Instance details Defined in Hledger.Data.Types Methods succ :: Status -> Status pred :: Status -> Status toEnum :: Int -> Status fromEnum :: Status -> Int enumFrom :: Status -> [Status] enumFromThen :: Status -> Status -> [Status] enumFromTo :: Status -> Status -> [Status] enumFromThenTo :: Status -> Status -> Status -> [Status]
Generic Status |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Status :: Type -> Type Methods from :: Status -> Rep Status x to :: Rep Status x -> Status
Show Status |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Status -> ShowS show :: Status -> String showList :: [Status] -> ShowS
Eq Status |
Instance details Defined in Hledger.Data.Types Methods (==) :: Status -> Status -> Bool (/=) :: Status -> Status -> Bool
Ord Status |
Instance details Defined in Hledger.Data.Types Methods compare :: Status -> Status -> Ordering # (<) :: Status -> Status -> Bool # (<=) :: Status -> Status -> Bool # (>) :: Status -> Status -> Bool # (>=) :: Status -> Status -> Bool # max :: Status -> Status -> Status # min :: Status -> Status -> Status #
type Rep Status |
Instance details Defined in Hledger.Data.Types type Rep Status = D1 ('MetaData "Status" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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)))

type DateTag = (TagName, Day) #

type TagValue = Text #

type TagName = Text #

data PostingType #

Constructors

RegularPosting |
VirtualPosting |
BalancedVirtualPosting |

#### Instances

Instances details

Generic PostingType |
Instance details Defined in Hledger.Data.Types Associated Types type Rep PostingType :: Type -> Type Methods from :: PostingType -> Rep PostingType x to :: Rep PostingType x -> PostingType
Show PostingType |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> PostingType -> ShowS show :: PostingType -> String showList :: [PostingType] -> ShowS
Eq PostingType |
Instance details Defined in Hledger.Data.Types Methods (==) :: PostingType -> PostingType -> Bool (/=) :: PostingType -> PostingType -> Bool
type Rep PostingType |
Instance details Defined in Hledger.Data.Types type Rep PostingType = D1 ('MetaData "PostingType" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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)))

data MixedAmount #

#### Instances

Instances details

Generic MixedAmount |
Instance details Defined in Hledger.Data.Types Associated Types type Rep MixedAmount :: Type -> Type Methods from :: MixedAmount -> Rep MixedAmount x to :: Rep MixedAmount x -> MixedAmount
Show MixedAmount |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> MixedAmount -> ShowS show :: MixedAmount -> String showList :: [MixedAmount] -> ShowS
Eq MixedAmount |
Instance details Defined in Hledger.Data.Types Methods (==) :: MixedAmount -> MixedAmount -> Bool (/=) :: MixedAmount -> MixedAmount -> Bool
Ord MixedAmount |
Instance details 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 #
type Rep MixedAmount |
Instance details Defined in Hledger.Data.Types type Rep MixedAmount = D1 ('MetaData "MixedAmount" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'True) (C1 ('MetaCons "Mixed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map MixedAmountKey Amount))))

class HasAmounts a where #

Types with this class have one or more amounts, which can have display styles applied to them.

Methods

styleAmounts :: Map CommoditySymbol AmountStyle -> a -> a #

#### Instances

Instances details

HasAmounts a => HasAmounts (Maybe a) |
Instance details Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Maybe a -> Maybe a #
HasAmounts a => HasAmounts [a] |
Instance details Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> [a] -> [a] #
HasAmounts b => HasAmounts (CompoundPeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> CompoundPeriodicReport a b -> CompoundPeriodicReport a b #
HasAmounts b => HasAmounts (PeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodicReport a b -> PeriodicReport a b #
HasAmounts b => HasAmounts (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodicReportRow a b -> PeriodicReportRow a b #
(HasAmounts a, HasAmounts b) => HasAmounts (a, b) |
Instance details Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> (a, b) -> (a, b) #
HasAmounts b => HasAmounts (Text, PeriodicReport a b, Bool) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> (Text, PeriodicReport a b, Bool) -> (Text, PeriodicReport a b, Bool) #

data Amount #

Constructors

Amount |
Fields acommodity :: !CommoditySymbol aquantity :: !Quantity astyle :: !AmountStyle aprice :: !(Maybe AmountPrice) the (fixed, transaction-specific) price for this amount, if any

#### Instances

Instances details

Generic Amount |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Amount :: Type -> Type Methods from :: Amount -> Rep Amount x to :: Rep Amount x -> Amount
Show Amount |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Amount -> ShowS show :: Amount -> String showList :: [Amount] -> ShowS
Eq Amount |
Instance details Defined in Hledger.Data.Types Methods (==) :: Amount -> Amount -> Bool (/=) :: Amount -> Amount -> Bool
Ord Amount |
Instance details Defined in Hledger.Data.Types Methods compare :: Amount -> Amount -> Ordering # (<) :: Amount -> Amount -> Bool # (<=) :: Amount -> Amount -> Bool # (>) :: Amount -> Amount -> Bool # (>=) :: Amount -> Amount -> Bool # max :: Amount -> Amount -> Amount # min :: Amount -> Amount -> Amount #
type Rep Amount |
Instance details Defined in Hledger.Data.Types type Rep Amount = D1 ('MetaData "Amount" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "Amount" 'PrefixI 'True) ((S1 ('MetaSel ('Just "acommodity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "aquantity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Quantity)) :*: (S1 ('MetaSel ('Just "astyle") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AmountStyle) :*: S1 ('MetaSel ('Just "aprice") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe AmountPrice)))))

data Commodity #

Constructors

Commodity |
Fields csymbol :: CommoditySymbol cformat :: Maybe AmountStyle

#### Instances

Instances details

Generic Commodity |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Commodity :: Type -> Type Methods from :: Commodity -> Rep Commodity x to :: Rep Commodity x -> Commodity
Show Commodity |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Commodity -> ShowS show :: Commodity -> String showList :: [Commodity] -> ShowS
Eq Commodity |
Instance details Defined in Hledger.Data.Types Methods (==) :: Commodity -> Commodity -> Bool (/=) :: Commodity -> Commodity -> Bool
type Rep Commodity |
Instance details Defined in Hledger.Data.Types type Rep Commodity = D1 ('MetaData "Commodity" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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))))

type CommoditySymbol = Text #

data DigitGroupStyle #

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 ![Word8] |

#### Instances

Instances details

Generic DigitGroupStyle |
Instance details Defined in Hledger.Data.Types Associated Types type Rep DigitGroupStyle :: Type -> Type Methods from :: DigitGroupStyle -> Rep DigitGroupStyle x to :: Rep DigitGroupStyle x -> DigitGroupStyle
Read DigitGroupStyle |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS DigitGroupStyle # readList :: ReadS [DigitGroupStyle] # readPrec :: ReadPrec DigitGroupStyle # readListPrec :: ReadPrec [DigitGroupStyle] #
Show DigitGroupStyle |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> DigitGroupStyle -> ShowS show :: DigitGroupStyle -> String showList :: [DigitGroupStyle] -> ShowS
Eq DigitGroupStyle |
Instance details Defined in Hledger.Data.Types Methods (==) :: DigitGroupStyle -> DigitGroupStyle -> Bool (/=) :: DigitGroupStyle -> DigitGroupStyle -> Bool
Ord DigitGroupStyle |
Instance details 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 #
type Rep DigitGroupStyle |
Instance details Defined in Hledger.Data.Types type Rep DigitGroupStyle = D1 ('MetaData "DigitGroupStyle" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "DigitGroups" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Char) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Word8])))

data AmountPrecision #

The "display precision" for a hledger amount, by which we mean the number of decimal digits to display to the right of the decimal mark.

Constructors

Precision !Word8 | show this many decimal digits (0..255)
NaturalPrecision | show all significant decimal digits stored internally

#### Instances

Instances details

Generic AmountPrecision |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AmountPrecision :: Type -> Type Methods from :: AmountPrecision -> Rep AmountPrecision x to :: Rep AmountPrecision x -> AmountPrecision
Read AmountPrecision |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AmountPrecision # readList :: ReadS [AmountPrecision] # readPrec :: ReadPrec AmountPrecision # readListPrec :: ReadPrec [AmountPrecision] #
Show AmountPrecision |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountPrecision -> ShowS show :: AmountPrecision -> String showList :: [AmountPrecision] -> ShowS
Eq AmountPrecision |
Instance details Defined in Hledger.Data.Types Methods (==) :: AmountPrecision -> AmountPrecision -> Bool (/=) :: AmountPrecision -> AmountPrecision -> Bool
Ord AmountPrecision |
Instance details Defined in Hledger.Data.Types Methods compare :: AmountPrecision -> AmountPrecision -> Ordering # (<) :: AmountPrecision -> AmountPrecision -> Bool # (<=) :: AmountPrecision -> AmountPrecision -> Bool # (>) :: AmountPrecision -> AmountPrecision -> Bool # (>=) :: AmountPrecision -> AmountPrecision -> Bool # max :: AmountPrecision -> AmountPrecision -> AmountPrecision # min :: AmountPrecision -> AmountPrecision -> AmountPrecision #
type Rep AmountPrecision |
Instance details Defined in Hledger.Data.Types type Rep AmountPrecision = D1 ('MetaData "AmountPrecision" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "Precision" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word8)) :+: C1 ('MetaCons "NaturalPrecision" 'PrefixI 'False) (U1 :: Type -> Type))

data AmountStyle #

The display style for an amount. (See also Amount.AmountDisplayOpts).

Constructors

AmountStyle |
Fields ascommodityside :: !Side show the symbol on the left or the right ? ascommodityspaced :: !Bool show a space between symbol and quantity ? asdigitgroups :: !(Maybe DigitGroupStyle) show the integer part with these digit group marks, or not asdecimalmark :: !(Maybe Char) show this character (should be . or ,) as decimal mark, or use the default (.) asprecision :: !(Maybe AmountPrecision) show this number of digits after the decimal point, or show as-is (leave precision unchanged) XXX Making asprecision a maybe simplifies code for styling with or without precision, but complicates the semantics (Nothing is useful only when setting style).

#### Instances

Instances details

Generic AmountStyle |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AmountStyle :: Type -> Type Methods from :: AmountStyle -> Rep AmountStyle x to :: Rep AmountStyle x -> AmountStyle
Read AmountStyle |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AmountStyle # readList :: ReadS [AmountStyle] # readPrec :: ReadPrec AmountStyle # readListPrec :: ReadPrec [AmountStyle] #
Show AmountStyle |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountStyle -> ShowS show :: AmountStyle -> String showList :: [AmountStyle] -> ShowS
Eq AmountStyle |
Instance details Defined in Hledger.Data.Types Methods (==) :: AmountStyle -> AmountStyle -> Bool (/=) :: AmountStyle -> AmountStyle -> Bool
Ord AmountStyle |
Instance details 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 #
type Rep AmountStyle |
Instance details Defined in Hledger.Data.Types type Rep AmountStyle = D1 ('MetaData "AmountStyle" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "AmountStyle" 'PrefixI 'True) ((S1 ('MetaSel ('Just "ascommodityside") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Side) :*: S1 ('MetaSel ('Just "ascommodityspaced") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "asdigitgroups") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe DigitGroupStyle)) :*: (S1 ('MetaSel ('Just "asdecimalmark") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Char)) :*: S1 ('MetaSel ('Just "asprecision") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe AmountPrecision))))))

data AmountPrice #

An amount's per-unit or total cost/selling price in another commodity, as recorded in the journal entry eg with `or` @. Cost, formerly AKA "transaction price". The amount is always positive.

Constructors

UnitPrice !Amount |
TotalPrice !Amount |

#### Instances

Instances details

Generic AmountPrice |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AmountPrice :: Type -> Type Methods from :: AmountPrice -> Rep AmountPrice x to :: Rep AmountPrice x -> AmountPrice
Show AmountPrice |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountPrice -> ShowS show :: AmountPrice -> String showList :: [AmountPrice] -> ShowS
Eq AmountPrice |
Instance details Defined in Hledger.Data.Types Methods (==) :: AmountPrice -> AmountPrice -> Bool (/=) :: AmountPrice -> AmountPrice -> Bool
Ord AmountPrice |
Instance details Defined in Hledger.Data.Types Methods compare :: AmountPrice -> AmountPrice -> Ordering # (<) :: AmountPrice -> AmountPrice -> Bool # (<=) :: AmountPrice -> AmountPrice -> Bool # (>) :: AmountPrice -> AmountPrice -> Bool # (>=) :: AmountPrice -> AmountPrice -> Bool # max :: AmountPrice -> AmountPrice -> AmountPrice # min :: AmountPrice -> AmountPrice -> AmountPrice #
type Rep AmountPrice |
Instance details Defined in Hledger.Data.Types type Rep AmountPrice = D1 ('MetaData "AmountPrice" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "UnitPrice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Amount)) :+: C1 ('MetaCons "TotalPrice" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Amount)))

type Quantity = Decimal #

The basic numeric type used in amounts.

type DecimalMark = Char #

One of the decimal marks we support: either period or comma.

data Side #

Constructors

L |
R |

#### Instances

Instances details

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

data AccountAlias #

Constructors

BasicAlias AccountName AccountName |
RegexAlias Regexp Replacement |

#### Instances

Instances details

Generic AccountAlias |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AccountAlias :: Type -> Type Methods from :: AccountAlias -> Rep AccountAlias x to :: Rep AccountAlias x -> AccountAlias
Read AccountAlias |
Instance details Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AccountAlias # readList :: ReadS [AccountAlias] # readPrec :: ReadPrec AccountAlias # readListPrec :: ReadPrec [AccountAlias] #
Show AccountAlias |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountAlias -> ShowS show :: AccountAlias -> String showList :: [AccountAlias] -> ShowS
Eq AccountAlias |
Instance details Defined in Hledger.Data.Types Methods (==) :: AccountAlias -> AccountAlias -> Bool (/=) :: AccountAlias -> AccountAlias -> Bool
Ord AccountAlias |
Instance details 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 #
type Rep AccountAlias |
Instance details Defined in Hledger.Data.Types type Rep AccountAlias = D1 ('MetaData "AccountAlias" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 AccountType #

Constructors

Asset |
Liability |
Equity |
Revenue |
Expense |
Cash | a subtype of Asset - liquid assets to show in cashflow report
Conversion | a subtype of Equity - account in which to generate conversion postings for transaction prices

#### Instances

Instances details

Generic AccountType |
Instance details Defined in Hledger.Data.Types Associated Types type Rep AccountType :: Type -> Type Methods from :: AccountType -> Rep AccountType x to :: Rep AccountType x -> AccountType
Show AccountType |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountType -> ShowS show :: AccountType -> String showList :: [AccountType] -> ShowS
Eq AccountType |
Instance details Defined in Hledger.Data.Types Methods (==) :: AccountType -> AccountType -> Bool (/=) :: AccountType -> AccountType -> Bool
Ord AccountType |
Instance details 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 #
type Rep AccountType |
Instance details Defined in Hledger.Data.Types type Rep AccountType = D1 ('MetaData "AccountType" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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)) :+: (C1 ('MetaCons "Cash" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Conversion" 'PrefixI 'False) (U1 :: Type -> Type))))

type AccountName = Text #

type Payee = Text #

data Interval #

Constructors

NoInterval |
Days Int |
Weeks Int |
Months Int |
Quarters Int |
Years Int |
DayOfMonth Int |
WeekdayOfMonth Int Int |
DaysOfWeek [Int] |
DayOfYear Int Int |

#### Instances

Instances details

Generic Interval |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Interval :: Type -> Type Methods from :: Interval -> Rep Interval x to :: Rep Interval x -> Interval
Show Interval |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Interval -> ShowS show :: Interval -> String showList :: [Interval] -> ShowS
Default Interval |
Instance details Defined in Hledger.Data.Types Methods def :: Interval #
Eq Interval |
Instance details Defined in Hledger.Data.Types Methods (==) :: Interval -> Interval -> Bool (/=) :: Interval -> Interval -> Bool
Ord Interval |
Instance details Defined in Hledger.Data.Types Methods compare :: Interval -> Interval -> Ordering # (<) :: Interval -> Interval -> Bool # (<=) :: Interval -> Interval -> Bool # (>) :: Interval -> Interval -> Bool # (>=) :: Interval -> Interval -> Bool # max :: Interval -> Interval -> Interval # min :: Interval -> Interval -> Interval #
type Rep Interval |
Instance details Defined in Hledger.Data.Types type Rep Interval = D1 ('MetaData "Interval" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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 "DaysOfWeek" '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 DayOfMonth = Int #

data Period #

Constructors

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

#### Instances

Instances details

Generic Period |
Instance details Defined in Hledger.Data.Types Associated Types type Rep Period :: Type -> Type Methods from :: Period -> Rep Period x to :: Rep Period x -> Period
Show Period |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> Period -> ShowS show :: Period -> String showList :: [Period] -> ShowS
Default Period |
Instance details Defined in Hledger.Data.Types Methods def :: Period #
Eq Period |
Instance details Defined in Hledger.Data.Types Methods (==) :: Period -> Period -> Bool (/=) :: Period -> Period -> Bool
Ord Period |
Instance details Defined in Hledger.Data.Types Methods compare :: Period -> Period -> Ordering # (<) :: Period -> Period -> Bool # (<=) :: Period -> Period -> Bool # (>) :: Period -> Period -> Bool # (>=) :: Period -> Period -> Bool # max :: Period -> Period -> Period # min :: Period -> Period -> Period #
type Rep Period |
Instance details Defined in Hledger.Data.Types type Rep Period = D1 ('MetaData "Period" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" '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)))))

class Ord p => DayPeriod p where #

Methods

periodFirstDay :: p -> Day #

periodLastDay :: p -> Day #

dayPeriod :: Day -> p #

#### Instances

Instances details

DayPeriod Day |
Instance details Defined in Data.Time.Calendar.Days Methods periodFirstDay :: Day -> Day # periodLastDay :: Day -> Day # dayPeriod :: Day -> Day #

data DateSpan #

A possibly open-ended span of time, from an optional inclusive start date to an optional exclusive end date. Each date can be either exact or flexible. An "exact date span" is a Datepan with exact start and end dates.

Constructors

DateSpan (Maybe EFDay) (Maybe EFDay) |

#### Instances

Instances details

Generic DateSpan |
Instance details Defined in Hledger.Data.Types Associated Types type Rep DateSpan :: Type -> Type Methods from :: DateSpan -> Rep DateSpan x to :: Rep DateSpan x -> DateSpan
Default DateSpan |
Instance details Defined in Hledger.Data.Types Methods def :: DateSpan #
Eq DateSpan |
Instance details Defined in Hledger.Data.Types Methods (==) :: DateSpan -> DateSpan -> Bool (/=) :: DateSpan -> DateSpan -> Bool
Ord DateSpan |
Instance details Defined in Hledger.Data.Types Methods compare :: DateSpan -> DateSpan -> Ordering # (<) :: DateSpan -> DateSpan -> Bool # (<=) :: DateSpan -> DateSpan -> Bool # (>) :: DateSpan -> DateSpan -> Bool # (>=) :: DateSpan -> DateSpan -> Bool # max :: DateSpan -> DateSpan -> DateSpan # min :: DateSpan -> DateSpan -> DateSpan #
type Rep DateSpan |
Instance details Defined in Hledger.Data.Types type Rep DateSpan = D1 ('MetaData "DateSpan" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "DateSpan" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe EFDay)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe EFDay))))

data EFDay #

A date which is either exact or flexible. Flexible dates are allowed to be adjusted in certain situations.

Constructors

Exact Day |
Flex Day |

#### Instances

Instances details

Generic EFDay |
Instance details Defined in Hledger.Data.Types Associated Types type Rep EFDay :: Type -> Type Methods from :: EFDay -> Rep EFDay x to :: Rep EFDay x -> EFDay
Show EFDay |
Instance details Defined in Hledger.Data.Types Methods showsPrec :: Int -> EFDay -> ShowS show :: EFDay -> String showList :: [EFDay] -> ShowS
Eq EFDay |
Instance details Defined in Hledger.Data.Types Methods (==) :: EFDay -> EFDay -> Bool (/=) :: EFDay -> EFDay -> Bool
Ord EFDay |
Instance details Defined in Hledger.Data.Types Methods compare :: EFDay -> EFDay -> Ordering # (<) :: EFDay -> EFDay -> Bool # (<=) :: EFDay -> EFDay -> Bool # (>) :: EFDay -> EFDay -> Bool # (>=) :: EFDay -> EFDay -> Bool # max :: EFDay -> EFDay -> EFDay # min :: EFDay -> EFDay -> EFDay #
type Rep EFDay |
Instance details Defined in Hledger.Data.Types type Rep EFDay = D1 ('MetaData "EFDay" "Hledger.Data.Types" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "Exact" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day)) :+: C1 ('MetaCons "Flex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day)))

data WhichDate #

Constructors

PrimaryDate |
SecondaryDate |

#### Instances

Instances details

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

data SmartInterval #

Constructors

Day |
Week |
Month |
Quarter |
Year |

#### Instances

Instances details

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

newtype Day #

Constructors

ModifiedJulianDay |
Fields toModifiedJulianDay :: Integer

#### Instances

Instances details

FromJSON Day |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Day # parseJSONList :: Value -> Parser [Day] # omittedField :: Maybe Day #
FromJSONKey Day |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Day # fromJSONKeyList :: FromJSONKeyFunction [Day] #
ToJSON Day |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Day -> Value # toEncoding :: Day -> Encoding # toJSONList :: [Day] -> Value # toEncodingList :: [Day] -> Encoding # omitField :: Day -> Bool #
ToJSONKey Day |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Day # toJSONKeyList :: ToJSONKeyFunction [Day] #
Data Day |
Instance details Defined in Data.Time.Calendar.Days Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Day -> c Day gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Day toConstr :: Day -> Constr dataTypeOf :: Day -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Day) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Day) gmapT :: (forall b. Data b => b -> b) -> Day -> Day gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Day -> r gmapQ :: (forall d. Data d => d -> u) -> Day -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Day -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Day -> m Day gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Day -> m Day
Enum Day |
Instance details Defined in Data.Time.Calendar.Days Methods succ :: Day -> Day pred :: Day -> Day toEnum :: Int -> Day fromEnum :: Day -> Int enumFrom :: Day -> [Day] enumFromThen :: Day -> Day -> [Day] enumFromTo :: Day -> Day -> [Day] enumFromThenTo :: Day -> Day -> Day -> [Day]
Ix Day |
Instance details Defined in Data.Time.Calendar.Days Methods range :: (Day, Day) -> [Day] index :: (Day, Day) -> Day -> Int unsafeIndex :: (Day, Day) -> Day -> Int inRange :: (Day, Day) -> Day -> Bool rangeSize :: (Day, Day) -> Int unsafeRangeSize :: (Day, Day) -> Int
NFData Day |
Instance details Defined in Data.Time.Calendar.Days Methods rnf :: Day -> ()
Eq Day |
Instance details Defined in Data.Time.Calendar.Days Methods (==) :: Day -> Day -> Bool (/=) :: Day -> Day -> Bool
Ord Day |
Instance details Defined in Data.Time.Calendar.Days Methods compare :: Day -> Day -> Ordering # (<) :: Day -> Day -> Bool # (<=) :: Day -> Day -> Bool # (>) :: Day -> Day -> Bool # (>=) :: Day -> Day -> Bool # max :: Day -> Day -> Day # min :: Day -> Day -> Day #
DayPeriod Day |
Instance details Defined in Data.Time.Calendar.Days Methods periodFirstDay :: Day -> Day # periodLastDay :: Day -> Day # dayPeriod :: Day -> Day #

type Month = Int #

type Quarter = Int #

data SmartDate #

A possibly incomplete year-month-day date provided by the user, to be interpreted as either a date or a date span depending on context. Missing parts "on the left" will be filled from the provided reference date, e.g. if the year and month are missing, the reference date's year and month are used. Missing parts "on the right" are assumed, when interpreting as a date, to be 1, (e.g. if the year and month are present but the day is missing, it means first day of that month); or when interpreting as a date span, to be a wildcard (so it would mean all days of that month). See the `smartdate` parser for more examples.

Or, one of the standard periods and an offset relative to the reference date: (last|this|next) (day|week|month|quarter|year), where "this" means the period containing the reference date.

Constructors

SmartCompleteDate Day |
SmartAssumeStart Year (Maybe Month) |
SmartFromReference (Maybe Month) MonthDay |
SmartMonth Month |
SmartRelative Integer SmartInterval |

#### Instances

Instances details

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

type WeekDay = Int #

type MonthDay = Int #

type YearDay = Int #

type MonthWeek = Int #

type YearWeek = Int #

type HledgerParseErrors = ParseErrorBundle Text HledgerParseErrorData #

A specialised version of ParseErrorBundle: a non-empty collection of hledger parse errors, equipped with PosState to help pretty-print them. Specialised for a `Text` parse stream.

data HledgerParseErrorData #

Custom error data for hledger parsers. Specialised for a `Text` parse stream. ReparseableTextParseErrorData ?

#### Instances

Instances details

Show HledgerParseErrorData |
Instance details Defined in Text.Megaparsec.Custom Methods showsPrec :: Int -> HledgerParseErrorData -> ShowS show :: HledgerParseErrorData -> String showList :: [HledgerParseErrorData] -> ShowS
Eq HledgerParseErrorData |
Instance details Defined in Text.Megaparsec.Custom Methods (==) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool (/=) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool
Ord HledgerParseErrorData |
Instance details Defined in Text.Megaparsec.Custom Methods compare :: HledgerParseErrorData -> HledgerParseErrorData -> Ordering # (<) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # (<=) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # (>) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # (>=) :: HledgerParseErrorData -> HledgerParseErrorData -> Bool # max :: HledgerParseErrorData -> HledgerParseErrorData -> HledgerParseErrorData # min :: HledgerParseErrorData -> HledgerParseErrorData -> HledgerParseErrorData #
ShowErrorComponent HledgerParseErrorData |
Instance details Defined in Text.Megaparsec.Custom Methods showErrorComponent :: HledgerParseErrorData -> String # errorComponentLen :: HledgerParseErrorData -> Int #
Ord (ParseError Text HledgerParseErrorData) |
Instance details Defined in Text.Megaparsec.Custom Methods compare :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Ordering # (<) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (<=) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (>) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # (>=) :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> Bool # max :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData # min :: ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData -> ParseError Text HledgerParseErrorData #

data WideBuilder #

Helper for constructing Builders while keeping track of text width.

Constructors

WideBuilder |
Fields wbBuilder :: !Builder wbWidth :: !Int

#### Instances

Instances details

Monoid WideBuilder |
Instance details Defined in Text.WideString Methods mempty :: WideBuilder # mappend :: WideBuilder -> WideBuilder -> WideBuilder # mconcat :: [WideBuilder] -> WideBuilder #
Semigroup WideBuilder |
Instance details Defined in Text.WideString Methods (<>) :: WideBuilder -> WideBuilder -> WideBuilder # sconcat :: NonEmpty WideBuilder -> WideBuilder # stimes :: Integral b => b -> WideBuilder -> WideBuilder #
Show WideBuilder |
Instance details Defined in Text.WideString Methods showsPrec :: Int -> WideBuilder -> ShowS show :: WideBuilder -> String showList :: [WideBuilder] -> ShowS

type TextParser (m :: Type -> Type) a = ParsecT HledgerParseErrorData Text m a #

A parser of text that runs in some monad.

type SimpleTextParser = Parsec HledgerParseErrorData Text #

A parser of strict text to some type.

type SimpleStringParser a = Parsec HledgerParseErrorData String a #

A parser of string to some type.

data RawOpts #

The result of running cmdargs: an association list of option names to string values.

#### Instances

Instances details

Show RawOpts |
Instance details Defined in Hledger.Data.RawOptions Methods showsPrec :: Int -> RawOpts -> ShowS show :: RawOpts -> String showList :: [RawOpts] -> ShowS
Default RawOpts |
Instance details Defined in Hledger.Data.RawOptions Methods def :: RawOpts #

data ReportItemField #

An id identifying which report item field to interpolate. These are drawn from several hledger report types, so are not all applicable for a given report.

Constructors

AccountField | A posting or balance report item's account name
DefaultDateField | A posting or register or entry report item's date
DescriptionField | A posting or register or entry report item's description
TotalField | A balance or posting report item's balance or running total. Always rendered right-justified.
DepthSpacerField | A balance report item's indent level (which may be different from the account name depth). Rendered as this number of spaces, multiplied by the minimum width spec if any.
FieldNo Int | A report item's nth field. May be unimplemented.

#### Instances

Instances details

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

data StringFormatComponent #

Constructors

FormatLiteral Text | Literal text to be rendered as-is
FormatField Bool (Maybe Int) (Maybe Int) ReportItemField | A data field to be formatted and interpolated. Parameters: Left justify ? Right justified if false Minimum width ? Will be space-padded if narrower than this Maximum width ? Will be clipped if wider than this Which of the standard hledger report item fields to interpolate

#### Instances

Instances details

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

data StringFormat #

A format specification/template to use when rendering a report line item as text.

A format is a sequence of components; each is either a literal string, or a hledger report item field with specified width and justification whose value will be interpolated at render time.

A component's value may be a multi-line string (or a multi-commodity amount), in which case the final string will be either single-line or a top or bottom-aligned multi-line string depending on the StringFormat variant used.

Currently this is only used in the balance command's single-column mode, which provides a limited StringFormat renderer.

Constructors

OneLine [StringFormatComponent] | multi-line values will be rendered on one line, comma-separated
TopAligned [StringFormatComponent] | values will be top-aligned (and bottom-padded to the same height)
BottomAligned [StringFormatComponent] | values will be bottom-aligned (and top-padded)

#### Instances

Instances details

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

data AmountDisplayOpts #

Options for the display of Amount and MixedAmount. (See also Types.AmountStyle)

Constructors

AmountDisplayOpts |
Fields displayPrice :: Bool Whether to display the Price of an Amount. displayZeroCommodity :: Bool If the Amount rounds to 0, whether to display its commodity string. displayThousandsSep :: Bool Whether to display thousands separators. displayColour :: Bool Whether to colourise negative Amounts. displayOneLine :: Bool Whether to display on one line. displayMinWidth :: Maybe Int Minimum width to pad to displayMaxWidth :: Maybe Int Maximum width to clip to | Display amounts in this order (without the commodity symbol) and display a 0 in case a corresponding commodity does not exist displayOrder :: Maybe [CommoditySymbol]

#### Instances

Instances details

Show AmountDisplayOpts |
Instance details Defined in Hledger.Data.Amount Methods showsPrec :: Int -> AmountDisplayOpts -> ShowS show :: AmountDisplayOpts -> String showList :: [AmountDisplayOpts] -> ShowS
Default AmountDisplayOpts | By default, display Amount and MixedAmount using `noColour` amount display options.
Instance details Defined in Hledger.Data.Amount Methods def :: AmountDisplayOpts #

type PriceOracle = (Day, CommoditySymbol, Maybe CommoditySymbol) -> Maybe (CommoditySymbol, Quantity) #

A price oracle is a magic memoising function that efficiently looks up market prices (exchange rates) from one commodity to another (or if unspecified, to a default valuation commodity) on a given date.

data ValuationType #

What kind of value conversion should be done on amounts ? CLI: --value=then|end|now|DATE[,COMM]

Constructors

AtThen (Maybe CommoditySymbol) | convert to default or given valuation commodity, using market prices at each posting's date
AtEnd (Maybe CommoditySymbol) | convert to default or given valuation commodity, using market prices at period end(s)
AtNow (Maybe CommoditySymbol) | convert to default or given valuation commodity, using current market prices
AtDate Day (Maybe CommoditySymbol) | convert to default or given valuation commodity, using market prices on some date

#### Instances

Instances details

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

data ConversionOp #

Which operation to perform on conversion transactions. (There was also an "infer equity postings" operation, but that is now done earlier, in journal finalisation.)

Constructors

NoConversionOp |
ToCost |

#### Instances

Instances details

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

data QueryOpt #

A query option changes a query's/report's behaviour and output in some way.

Constructors

QueryOptInAcctOnly AccountName | show an account register focussed on this account
QueryOptInAcct AccountName | as above but include sub-accounts in the account register | QueryOptCostBasis -- ^ show amounts converted to cost where possible | QueryOptDate2 -- ^ show secondary dates instead of primary dates

#### Instances

Instances details

Show QueryOpt |
Instance details Defined in Hledger.Query Methods showsPrec :: Int -> QueryOpt -> ShowS show :: QueryOpt -> String showList :: [QueryOpt] -> ShowS
Eq QueryOpt |
Instance details Defined in Hledger.Query Methods (==) :: QueryOpt -> QueryOpt -> Bool (/=) :: QueryOpt -> QueryOpt -> Bool

data OrdPlus #

A more expressive Ord, used for amt: queries. The Abs* variants compare with the absolute value of a number, ignoring sign.

Constructors

Lt |
LtEq |
Gt |
GtEq |
Eq |
AbsLt |
AbsLtEq |
AbsGt |
AbsGtEq |
AbsEq |

#### Instances

Instances details

Show OrdPlus |
Instance details Defined in Hledger.Query Methods showsPrec :: Int -> OrdPlus -> ShowS show :: OrdPlus -> String showList :: [OrdPlus] -> ShowS
Eq OrdPlus |
Instance details Defined in Hledger.Query Methods (==) :: OrdPlus -> OrdPlus -> Bool (/=) :: OrdPlus -> OrdPlus -> Bool

data Query #

A query is a composition of search criteria, which can be used to match postings, transactions, accounts and more.

Constructors

Not Query | negate this match
And [Query] | match if all of these match
Or [Query] | match if any of these match no-op queries
Any | always match
None | never match data queries (in "standard" order, roughly as they appear in a transaction)
Date DateSpan | match primary dates in this date span
Date2 DateSpan | match secondary dates in this date span
StatusQ Status | match this txn/posting status
Code Regexp | match txn codes infix-matched by this regexp
Desc Regexp | match txn descriptions infix-matched by this regexp
Tag Regexp (Maybe Regexp) | match if a tag's name, and optionally its value, is infix-matched by the respective regexps
Acct Regexp | match account names infix-matched by this regexp
Type [AccountType] | match accounts whose type is one of these (or with no types, any account)
Depth Int | match if account depth is less than or equal to this value (or, sometimes used as a display option)
Real Bool | match postings with this "realness" value
Amt OrdPlus Quantity | match if the amount's numeric quantity is less thangreater thanequal to/unsignedly equal to some value
Sym Regexp | match if the commodity symbol is fully-matched by this regexp

#### Instances

Instances details

Show Query |
Instance details Defined in Hledger.Query Methods showsPrec :: Int -> Query -> ShowS show :: Query -> String showList :: [Query] -> ShowS
Default Query |
Instance details Defined in Hledger.Query Methods def :: Query #
Eq Query |
Instance details Defined in Hledger.Query Methods (==) :: Query -> Query -> Bool (/=) :: Query -> Query -> Bool

type ErroringJournalParser (m :: Type -> Type) a = StateT Journal (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError m)) a #

A parser of text that runs in some monad, keeping a Journal as state, that can throw an exception to end parsing, preventing further parser backtracking.

type JournalParser (m :: Type -> Type) a = StateT Journal (ParsecT HledgerParseErrorData Text m) a #

A parser of text that runs in some monad, keeping a Journal as state.

data BalancingOpts #

Constructors

BalancingOpts |
Fields ignore_assertions_ :: Bool should failing balance assertions be ignored ? infer_balancing_costs_ :: Bool Are we permitted to infer missing costs to balance transactions ? Distinct from InputOpts{infer_costs_}. commodity_styles_ :: Maybe (Map CommoditySymbol AmountStyle) commodity display styles

#### Instances

Instances details

Show BalancingOpts |
Instance details Defined in Hledger.Data.Balancing Methods showsPrec :: Int -> BalancingOpts -> ShowS show :: BalancingOpts -> String showList :: [BalancingOpts] -> ShowS
HasBalancingOpts BalancingOpts |
Instance details Defined in Hledger.Data.Balancing Methods balancingOpts :: Lens' BalancingOpts BalancingOpts # commodity_styles :: Lens' BalancingOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' BalancingOpts Bool # infer_balancing_costs :: Lens' BalancingOpts Bool #

class HasBalancingOpts c where #

Minimal complete definition

balancingOpts

Methods

balancingOpts :: Lens' c BalancingOpts #

commodity_styles :: Lens' c (Maybe (Map CommoditySymbol AmountStyle)) #

ignore_assertions :: Lens' c Bool #

infer_balancing_costs :: Lens' c Bool #

#### Instances

Instances details

HasBalancingOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods balancingOpts :: Lens' CliOpts BalancingOpts # commodity_styles :: Lens' CliOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' CliOpts Bool # infer_balancing_costs :: Lens' CliOpts Bool #
HasBalancingOpts BalancingOpts |
Instance details Defined in Hledger.Data.Balancing Methods balancingOpts :: Lens' BalancingOpts BalancingOpts # commodity_styles :: Lens' BalancingOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' BalancingOpts Bool # infer_balancing_costs :: Lens' BalancingOpts Bool #
HasBalancingOpts InputOpts |
Instance details Defined in Hledger.Read.InputOptions Methods balancingOpts :: Lens' InputOpts BalancingOpts # commodity_styles :: Lens' InputOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' InputOpts Bool # infer_balancing_costs :: Lens' InputOpts Bool #

data InputOpts #

Constructors

InputOpts |
Fields mformat_ :: Maybe StorageFormat a file/storage format to try, unless overridden by a filename prefix. Nothing means try all. mrules_file_ :: Maybe FilePath a conversion rules file to use (when reading CSV) aliases_ :: [String] account name aliases to apply anon_ :: Bool do light anonymisation/obfuscation of the data new_ :: Bool read only new transactions since this file was last read new_save_ :: Bool save latest new transactions state for next time pivot_ :: String use the given field's value as the account name forecast_ :: Maybe DateSpan span in which to generate forecast transactions verbose_tags_ :: Bool add user-visible tags when generating/modifying transactions & postings ? reportspan_ :: DateSpan a dirty hack keeping the query dates in InputOpts. This rightfully lives in ReportSpec, but is duplicated here. auto_ :: Bool generate automatic postings when journal is parsed ? infer_equity_ :: Bool infer equity conversion postings from costs ? infer_costs_ :: Bool infer costs from equity conversion postings ? distinct from BalancingOpts{infer_balancing_costs_} balancingopts_ :: BalancingOpts options for balancing transactions strict_ :: Bool do extra error checking (eg, all posted accounts are declared, no prices are inferred) _ioDay :: Day today's date, for use with forecast transactions XXX this duplicates _rsDay, and should eventually be removed when it's not needed anymore.

#### Instances

Instances details

Show InputOpts |
Instance details Defined in Hledger.Read.InputOptions Methods showsPrec :: Int -> InputOpts -> ShowS show :: InputOpts -> String showList :: [InputOpts] -> ShowS
HasBalancingOpts InputOpts |
Instance details Defined in Hledger.Read.InputOptions Methods balancingOpts :: Lens' InputOpts BalancingOpts # commodity_styles :: Lens' InputOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' InputOpts Bool # infer_balancing_costs :: Lens' InputOpts Bool #
HasInputOpts InputOpts |
Instance details Defined in Hledger.Read.InputOptions Methods inputOpts :: Lens' InputOpts InputOpts # aliases :: Lens' InputOpts [String] # anon__ :: Lens' InputOpts Bool # auto__ :: Lens' InputOpts Bool # balancingopts :: Lens' InputOpts BalancingOpts # forecast :: Lens' InputOpts (Maybe DateSpan) # infer_costs :: Lens' InputOpts Bool # infer_equity :: Lens' InputOpts Bool # ioDay :: Lens' InputOpts Day # mformat :: Lens' InputOpts (Maybe StorageFormat) # mrules_file :: Lens' InputOpts (Maybe FilePath) # new__ :: Lens' InputOpts Bool # new_save :: Lens' InputOpts Bool # pivot :: Lens' InputOpts String # reportspan :: Lens' InputOpts DateSpan # strict :: Lens' InputOpts Bool # verbose_tags :: Lens' InputOpts Bool #

class HasInputOpts c where #

Minimal complete definition

inputOpts

Methods

inputOpts :: Lens' c InputOpts #

aliases :: Lens' c [String] #

anon__ :: Lens' c Bool #

auto__ :: Lens' c Bool #

balancingopts :: Lens' c BalancingOpts #

forecast :: Lens' c (Maybe DateSpan) #

infer_costs :: Lens' c Bool #

infer_equity :: Lens' c Bool #

ioDay :: Lens' c Day #

mformat :: Lens' c (Maybe StorageFormat) #

mrules_file :: Lens' c (Maybe FilePath) #

new__ :: Lens' c Bool #

new_save :: Lens' c Bool #

pivot :: Lens' c String #

reportspan :: Lens' c DateSpan #

strict :: Lens' c Bool #

verbose_tags :: Lens' c Bool #

#### Instances

Instances details

HasInputOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods inputOpts :: Lens' CliOpts InputOpts # aliases :: Lens' CliOpts [String] # anon__ :: Lens' CliOpts Bool # auto__ :: Lens' CliOpts Bool # balancingopts :: Lens' CliOpts BalancingOpts # forecast :: Lens' CliOpts (Maybe DateSpan) # infer_costs :: Lens' CliOpts Bool # infer_equity :: Lens' CliOpts Bool # ioDay :: Lens' CliOpts Day # mformat :: Lens' CliOpts (Maybe StorageFormat) # mrules_file :: Lens' CliOpts (Maybe FilePath) # new__ :: Lens' CliOpts Bool # new_save :: Lens' CliOpts Bool # pivot :: Lens' CliOpts String # reportspan :: Lens' CliOpts DateSpan # strict :: Lens' CliOpts Bool # verbose_tags :: Lens' CliOpts Bool #
HasInputOpts InputOpts |
Instance details Defined in Hledger.Read.InputOptions Methods inputOpts :: Lens' InputOpts InputOpts # aliases :: Lens' InputOpts [String] # anon__ :: Lens' InputOpts Bool # auto__ :: Lens' InputOpts Bool # balancingopts :: Lens' InputOpts BalancingOpts # forecast :: Lens' InputOpts (Maybe DateSpan) # infer_costs :: Lens' InputOpts Bool # infer_equity :: Lens' InputOpts Bool # ioDay :: Lens' InputOpts Day # mformat :: Lens' InputOpts (Maybe StorageFormat) # mrules_file :: Lens' InputOpts (Maybe FilePath) # new__ :: Lens' InputOpts Bool # new_save :: Lens' InputOpts Bool # pivot :: Lens' InputOpts String # reportspan :: Lens' InputOpts DateSpan # strict :: Lens' InputOpts Bool # verbose_tags :: Lens' InputOpts Bool #

data ReportSpec #

A fully-determined set of report parameters (report options with all partial values made total, eg the begin and end dates are known, avoiding date/regex errors; plus the reporting date), and the query successfully calculated from them.

If you change the report options or date in one of these, you should use `reportOptsToSpec` to regenerate the whole thing, avoiding inconsistency.

Constructors

ReportSpec |
Fields _rsReportOpts :: ReportOpts The underlying ReportOpts used to generate this ReportSpec _rsDay :: Day The Day this ReportSpec is generated for _rsQuery :: Query The generated Query for the given day _rsQueryOpts :: [QueryOpt] A list of QueryOpts for the given day

#### Instances

Instances details

Show ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods showsPrec :: Int -> ReportSpec -> ShowS show :: ReportSpec -> String showList :: [ReportSpec] -> ShowS
Default ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods def :: ReportSpec #
HasReportOpts ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOpts :: ReportableLens' ReportSpec ReportOpts # period :: ReportableLens' ReportSpec Period # statuses :: ReportableLens' ReportSpec [Status] # depth :: ReportableLens' ReportSpec (Maybe Int) # date2 :: ReportableLens' ReportSpec Bool # real :: ReportableLens' ReportSpec Bool # querystring :: ReportableLens' ReportSpec [Text] #
HasReportOptsNoUpdate ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOptsNoUpdate :: Lens' ReportSpec ReportOpts # accountlistmode :: Lens' ReportSpec AccountListMode # average :: Lens' ReportSpec Bool # balanceaccum :: Lens' ReportSpec BalanceAccumulation # balancecalc :: Lens' ReportSpec BalanceCalculation # budgetpat :: Lens' ReportSpec (Maybe Text) # color__ :: Lens' ReportSpec Bool # conversionop :: Lens' ReportSpec (Maybe ConversionOp) # date2NoUpdate :: Lens' ReportSpec Bool # declared :: Lens' ReportSpec Bool # depthNoUpdate :: Lens' ReportSpec (Maybe Int) # drop__ :: Lens' ReportSpec Int # empty__ :: Lens' ReportSpec Bool # format :: Lens' ReportSpec StringFormat # infer_prices :: Lens' ReportSpec Bool # interval :: Lens' ReportSpec Interval # invert :: Lens' ReportSpec Bool # layout :: Lens' ReportSpec Layout # no_elide :: Lens' ReportSpec Bool # no_total :: Lens' ReportSpec Bool # normalbalance :: Lens' ReportSpec (Maybe NormalSign) # percent :: Lens' ReportSpec Bool # periodNoUpdate :: Lens' ReportSpec Period # pretty :: Lens' ReportSpec Bool # querystringNoUpdate :: Lens' ReportSpec [Text] # realNoUpdate :: Lens' ReportSpec Bool # related :: Lens' ReportSpec Bool # row_total :: Lens' ReportSpec Bool # show_costs :: Lens' ReportSpec Bool # sort_amount :: Lens' ReportSpec Bool # statusesNoUpdate :: Lens' ReportSpec [Status] # transpose__ :: Lens' ReportSpec Bool # txn_dates :: Lens' ReportSpec Bool # value :: Lens' ReportSpec (Maybe ValuationType) #
HasReportSpec ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportSpec :: Lens' ReportSpec ReportSpec # rsDay :: Lens' ReportSpec Day # rsQuery :: Lens' ReportSpec Query # rsQueryOpts :: Lens' ReportSpec [QueryOpt] # rsReportOpts :: Lens' ReportSpec ReportOpts #

data ReportOpts #

Standard options for customising report filtering and output. Most of these correspond to standard hledger command-line options or query arguments, but not all. Some are used only by certain commands, as noted below.

Constructors

ReportOpts |
Fields period_ :: Period interval_ :: Interval statuses_ :: [Status] Zero, one, or two statuses to be matched conversionop_ :: Maybe ConversionOp Which operation should we apply to conversion transactions? value_ :: Maybe ValuationType What value should amounts be converted to ? infer_prices_ :: Bool Infer market prices from transactions ? depth_ :: Maybe Int date2_ :: Bool empty_ :: Bool no_elide_ :: Bool real_ :: Bool format_ :: StringFormat pretty_ :: Bool querystring_ :: [Text] average_ :: Bool related_ :: Bool txn_dates_ :: Bool balancecalc_ :: BalanceCalculation What to calculate in balance report cells balanceaccum_ :: BalanceAccumulation How to accumulate balance report values over time budgetpat_ :: Maybe Text A case-insensitive description substring to select periodic transactions for budget reports. (Not a regexp, nor a full hledger query, for now.) accountlistmode_ :: AccountListMode drop_ :: Int declared_ :: Bool Include accounts declared but not yet posted to ? row_total_ :: Bool no_total_ :: Bool show_costs_ :: Bool Show costs for reports which normally don't show them ? sort_amount_ :: Bool percent_ :: Bool invert_ :: Bool Flip all amount signs in reports ? normalbalance_ :: Maybe NormalSign This can be set when running balance reports on a set of accounts with the same normal balance type (eg all assets, or all incomes). - It helps --sort-amount know how to sort negative numbers (eg in the income section of an income statement) - It helps compound balance report commands (is, bs etc.) do sign normalisation, converting normally negative subreports to normally positive for a more conventional display. color_ :: Bool Whether to use ANSI color codes in text output. Influenced by the --color/colour flag (cf CliOptions), whether stdout is an interactive terminal, and the value of TERM and existence of NO_COLOR environment variables. transpose_ :: Bool layout_ :: Layout

#### Instances

Instances details

Show ReportOpts |
Instance details Defined in Hledger.Reports.ReportOptions Methods showsPrec :: Int -> ReportOpts -> ShowS show :: ReportOpts -> String showList :: [ReportOpts] -> ShowS
Default ReportOpts |
Instance details Defined in Hledger.Reports.ReportOptions Methods def :: ReportOpts #
HasReportOpts ReportOpts |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOpts :: ReportableLens' ReportOpts ReportOpts # period :: ReportableLens' ReportOpts Period # statuses :: ReportableLens' ReportOpts [Status] # depth :: ReportableLens' ReportOpts (Maybe Int) # date2 :: ReportableLens' ReportOpts Bool # real :: ReportableLens' ReportOpts Bool # querystring :: ReportableLens' ReportOpts [Text] #
HasReportOptsNoUpdate ReportOpts |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOptsNoUpdate :: Lens' ReportOpts ReportOpts # accountlistmode :: Lens' ReportOpts AccountListMode # average :: Lens' ReportOpts Bool # balanceaccum :: Lens' ReportOpts BalanceAccumulation # balancecalc :: Lens' ReportOpts BalanceCalculation # budgetpat :: Lens' ReportOpts (Maybe Text) # color__ :: Lens' ReportOpts Bool # conversionop :: Lens' ReportOpts (Maybe ConversionOp) # date2NoUpdate :: Lens' ReportOpts Bool # declared :: Lens' ReportOpts Bool # depthNoUpdate :: Lens' ReportOpts (Maybe Int) # drop__ :: Lens' ReportOpts Int # empty__ :: Lens' ReportOpts Bool # format :: Lens' ReportOpts StringFormat # infer_prices :: Lens' ReportOpts Bool # interval :: Lens' ReportOpts Interval # invert :: Lens' ReportOpts Bool # layout :: Lens' ReportOpts Layout # no_elide :: Lens' ReportOpts Bool # no_total :: Lens' ReportOpts Bool # normalbalance :: Lens' ReportOpts (Maybe NormalSign) # percent :: Lens' ReportOpts Bool # periodNoUpdate :: Lens' ReportOpts Period # pretty :: Lens' ReportOpts Bool # querystringNoUpdate :: Lens' ReportOpts [Text] # realNoUpdate :: Lens' ReportOpts Bool # related :: Lens' ReportOpts Bool # row_total :: Lens' ReportOpts Bool # show_costs :: Lens' ReportOpts Bool # sort_amount :: Lens' ReportOpts Bool # statusesNoUpdate :: Lens' ReportOpts [Status] # transpose__ :: Lens' ReportOpts Bool # txn_dates :: Lens' ReportOpts Bool # value :: Lens' ReportOpts (Maybe ValuationType) #

data Layout #

Constructors

LayoutWide (Maybe Int) |
LayoutTall |
LayoutBare |
LayoutTidy |

#### Instances

Instances details

Show Layout |
Instance details Defined in Hledger.Reports.ReportOptions Methods showsPrec :: Int -> Layout -> ShowS show :: Layout -> String showList :: [Layout] -> ShowS
Eq Layout |
Instance details Defined in Hledger.Reports.ReportOptions Methods (==) :: Layout -> Layout -> Bool (/=) :: Layout -> Layout -> Bool

data AccountListMode #

Should accounts be displayed: in the command's default style, hierarchically, or as a flat list ?

Constructors

ALFlat |
ALTree |

#### Instances

Instances details

Show AccountListMode |
Instance details Defined in Hledger.Reports.ReportOptions Methods showsPrec :: Int -> AccountListMode -> ShowS show :: AccountListMode -> String showList :: [AccountListMode] -> ShowS
Default AccountListMode |
Instance details Defined in Hledger.Reports.ReportOptions Methods def :: AccountListMode #
Eq AccountListMode |
Instance details Defined in Hledger.Reports.ReportOptions Methods (==) :: AccountListMode -> AccountListMode -> Bool (/=) :: AccountListMode -> AccountListMode -> Bool

data BalanceAccumulation #

How to accumulate calculated values across periods (columns) in a balance report. "Balance report types -> Accumulation type" in the hledger manual.

Constructors

PerPeriod | No accumulation. Eg, shows the change of balance in each period.
Cumulative | Accumulate changes across periods, starting from zero at report start.
Historical | Accumulate changes across periods, including any from before report start. Eg, shows the historical end balance of each period.

#### Instances

Instances details

Show BalanceAccumulation |
Instance details Defined in Hledger.Reports.ReportOptions Methods showsPrec :: Int -> BalanceAccumulation -> ShowS show :: BalanceAccumulation -> String showList :: [BalanceAccumulation] -> ShowS
Default BalanceAccumulation |
Instance details Defined in Hledger.Reports.ReportOptions Methods def :: BalanceAccumulation #
Eq BalanceAccumulation |
Instance details Defined in Hledger.Reports.ReportOptions Methods (==) :: BalanceAccumulation -> BalanceAccumulation -> Bool (/=) :: BalanceAccumulation -> BalanceAccumulation -> Bool

data BalanceCalculation #

What to calculate for each cell in a balance report. "Balance report types -> Calculation type" in the hledger manual.

Constructors

CalcChange | Sum of posting amounts in the period.
CalcBudget | Sum of posting amounts and the goal for the period.
CalcValueChange | Change from previous period's historical end value to this period's historical end value.
CalcGain | Change from previous period's gain, i.e. valuation minus cost basis.
CalcPostingsCount | Number of postings in the period.

#### Instances

Instances details

Show BalanceCalculation |
Instance details Defined in Hledger.Reports.ReportOptions Methods showsPrec :: Int -> BalanceCalculation -> ShowS show :: BalanceCalculation -> String showList :: [BalanceCalculation] -> ShowS
Default BalanceCalculation |
Instance details Defined in Hledger.Reports.ReportOptions Methods def :: BalanceCalculation #
Eq BalanceCalculation |
Instance details Defined in Hledger.Reports.ReportOptions Methods (==) :: BalanceCalculation -> BalanceCalculation -> Bool (/=) :: BalanceCalculation -> BalanceCalculation -> Bool

class HasReportOptsNoUpdate c where #

Lenses for ReportOpts.

Minimal complete definition

reportOptsNoUpdate

Methods

reportOptsNoUpdate :: Lens' c ReportOpts #

accountlistmode :: Lens' c AccountListMode #

average :: Lens' c Bool #

balanceaccum :: Lens' c BalanceAccumulation #

balancecalc :: Lens' c BalanceCalculation #

budgetpat :: Lens' c (Maybe Text) #

color__ :: Lens' c Bool #

conversionop :: Lens' c (Maybe ConversionOp) #

date2NoUpdate :: Lens' c Bool #

declared :: Lens' c Bool #

depthNoUpdate :: Lens' c (Maybe Int) #

drop__ :: Lens' c Int #

empty__ :: Lens' c Bool #

format :: Lens' c StringFormat #

infer_prices :: Lens' c Bool #

interval :: Lens' c Interval #

invert :: Lens' c Bool #

layout :: Lens' c Layout #

no_elide :: Lens' c Bool #

no_total :: Lens' c Bool #

normalbalance :: Lens' c (Maybe NormalSign) #

percent :: Lens' c Bool #

periodNoUpdate :: Lens' c Period #

pretty :: Lens' c Bool #

querystringNoUpdate :: Lens' c [Text] #

realNoUpdate :: Lens' c Bool #

related :: Lens' c Bool #

row_total :: Lens' c Bool #

show_costs :: Lens' c Bool #

sort_amount :: Lens' c Bool #

statusesNoUpdate :: Lens' c [Status] #

transpose__ :: Lens' c Bool #

txn_dates :: Lens' c Bool #

value :: Lens' c (Maybe ValuationType) #

#### Instances

Instances details

HasReportOptsNoUpdate CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods reportOptsNoUpdate :: Lens' CliOpts ReportOpts # accountlistmode :: Lens' CliOpts AccountListMode # average :: Lens' CliOpts Bool # balanceaccum :: Lens' CliOpts BalanceAccumulation # balancecalc :: Lens' CliOpts BalanceCalculation # budgetpat :: Lens' CliOpts (Maybe Text) # color__ :: Lens' CliOpts Bool # conversionop :: Lens' CliOpts (Maybe ConversionOp) # date2NoUpdate :: Lens' CliOpts Bool # declared :: Lens' CliOpts Bool # depthNoUpdate :: Lens' CliOpts (Maybe Int) # drop__ :: Lens' CliOpts Int # empty__ :: Lens' CliOpts Bool # format :: Lens' CliOpts StringFormat # infer_prices :: Lens' CliOpts Bool # interval :: Lens' CliOpts Interval # invert :: Lens' CliOpts Bool # layout :: Lens' CliOpts Layout # no_elide :: Lens' CliOpts Bool # no_total :: Lens' CliOpts Bool # normalbalance :: Lens' CliOpts (Maybe NormalSign) # percent :: Lens' CliOpts Bool # periodNoUpdate :: Lens' CliOpts Period # pretty :: Lens' CliOpts Bool # querystringNoUpdate :: Lens' CliOpts [Text] # realNoUpdate :: Lens' CliOpts Bool # related :: Lens' CliOpts Bool # row_total :: Lens' CliOpts Bool # show_costs :: Lens' CliOpts Bool # sort_amount :: Lens' CliOpts Bool # statusesNoUpdate :: Lens' CliOpts [Status] # transpose__ :: Lens' CliOpts Bool # txn_dates :: Lens' CliOpts Bool # value :: Lens' CliOpts (Maybe ValuationType) #
HasReportOptsNoUpdate ReportOpts |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOptsNoUpdate :: Lens' ReportOpts ReportOpts # accountlistmode :: Lens' ReportOpts AccountListMode # average :: Lens' ReportOpts Bool # balanceaccum :: Lens' ReportOpts BalanceAccumulation # balancecalc :: Lens' ReportOpts BalanceCalculation # budgetpat :: Lens' ReportOpts (Maybe Text) # color__ :: Lens' ReportOpts Bool # conversionop :: Lens' ReportOpts (Maybe ConversionOp) # date2NoUpdate :: Lens' ReportOpts Bool # declared :: Lens' ReportOpts Bool # depthNoUpdate :: Lens' ReportOpts (Maybe Int) # drop__ :: Lens' ReportOpts Int # empty__ :: Lens' ReportOpts Bool # format :: Lens' ReportOpts StringFormat # infer_prices :: Lens' ReportOpts Bool # interval :: Lens' ReportOpts Interval # invert :: Lens' ReportOpts Bool # layout :: Lens' ReportOpts Layout # no_elide :: Lens' ReportOpts Bool # no_total :: Lens' ReportOpts Bool # normalbalance :: Lens' ReportOpts (Maybe NormalSign) # percent :: Lens' ReportOpts Bool # periodNoUpdate :: Lens' ReportOpts Period # pretty :: Lens' ReportOpts Bool # querystringNoUpdate :: Lens' ReportOpts [Text] # realNoUpdate :: Lens' ReportOpts Bool # related :: Lens' ReportOpts Bool # row_total :: Lens' ReportOpts Bool # show_costs :: Lens' ReportOpts Bool # sort_amount :: Lens' ReportOpts Bool # statusesNoUpdate :: Lens' ReportOpts [Status] # transpose__ :: Lens' ReportOpts Bool # txn_dates :: Lens' ReportOpts Bool # value :: Lens' ReportOpts (Maybe ValuationType) #
HasReportOptsNoUpdate ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOptsNoUpdate :: Lens' ReportSpec ReportOpts # accountlistmode :: Lens' ReportSpec AccountListMode # average :: Lens' ReportSpec Bool # balanceaccum :: Lens' ReportSpec BalanceAccumulation # balancecalc :: Lens' ReportSpec BalanceCalculation # budgetpat :: Lens' ReportSpec (Maybe Text) # color__ :: Lens' ReportSpec Bool # conversionop :: Lens' ReportSpec (Maybe ConversionOp) # date2NoUpdate :: Lens' ReportSpec Bool # declared :: Lens' ReportSpec Bool # depthNoUpdate :: Lens' ReportSpec (Maybe Int) # drop__ :: Lens' ReportSpec Int # empty__ :: Lens' ReportSpec Bool # format :: Lens' ReportSpec StringFormat # infer_prices :: Lens' ReportSpec Bool # interval :: Lens' ReportSpec Interval # invert :: Lens' ReportSpec Bool # layout :: Lens' ReportSpec Layout # no_elide :: Lens' ReportSpec Bool # no_total :: Lens' ReportSpec Bool # normalbalance :: Lens' ReportSpec (Maybe NormalSign) # percent :: Lens' ReportSpec Bool # periodNoUpdate :: Lens' ReportSpec Period # pretty :: Lens' ReportSpec Bool # querystringNoUpdate :: Lens' ReportSpec [Text] # realNoUpdate :: Lens' ReportSpec Bool # related :: Lens' ReportSpec Bool # row_total :: Lens' ReportSpec Bool # show_costs :: Lens' ReportSpec Bool # sort_amount :: Lens' ReportSpec Bool # statusesNoUpdate :: Lens' ReportSpec [Status] # transpose__ :: Lens' ReportSpec Bool # txn_dates :: Lens' ReportSpec Bool # value :: Lens' ReportSpec (Maybe ValuationType) #

class HasReportOptsNoUpdate a => HasReportOpts a where #

Special lenses for ReportOpts which also update the Query and QueryOpts in ReportSpec. Note that these are not true lenses, as they have a further restriction on the functor. This will work as a normal lens for all common uses, but since they don't obey the lens laws for some fancy cases, they may fail in some exotic circumstances.

Note that setEither/overEither should only be necessary with querystring and reportOpts: the other lenses should never fail.

### Examples:

    >>> import Lens.Micro (set)
    >>> _rsQuery <$> setEither querystring ["assets"] defreportspec
    Right (Acct (RegexpCI "assets"))
    >>> _rsQuery <$> setEither querystring ["(assets"] defreportspec
    Left "This regular expression is malformed, please correct it:\n(assets"
    >>> _rsQuery $ set querystring ["assets"] defreportspec
    Acct (RegexpCI "assets")
    >>> _rsQuery $ set querystring ["(assets"] defreportspec
    *** Exception: Error: Updating ReportSpec failed: try using overEither instead of over or setEither instead of set
    >>> _rsQuery $ set period (MonthPeriod 2021 08) defreportspec
    Date DateSpan 2021-08

Minimal complete definition

Nothing

Methods

reportOpts :: ReportableLens' a ReportOpts #

period :: ReportableLens' a Period #

statuses :: ReportableLens' a [Status] #

depth :: ReportableLens' a (Maybe Int) #

date2 :: ReportableLens' a Bool #

real :: ReportableLens' a Bool #

querystring :: ReportableLens' a [Text] #

#### Instances

Instances details

HasReportOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods reportOpts :: ReportableLens' CliOpts ReportOpts # period :: ReportableLens' CliOpts Period # statuses :: ReportableLens' CliOpts [Status] # depth :: ReportableLens' CliOpts (Maybe Int) # date2 :: ReportableLens' CliOpts Bool # real :: ReportableLens' CliOpts Bool # querystring :: ReportableLens' CliOpts [Text] #
HasReportOpts ReportOpts |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOpts :: ReportableLens' ReportOpts ReportOpts # period :: ReportableLens' ReportOpts Period # statuses :: ReportableLens' ReportOpts [Status] # depth :: ReportableLens' ReportOpts (Maybe Int) # date2 :: ReportableLens' ReportOpts Bool # real :: ReportableLens' ReportOpts Bool # querystring :: ReportableLens' ReportOpts [Text] #
HasReportOpts ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportOpts :: ReportableLens' ReportSpec ReportOpts # period :: ReportableLens' ReportSpec Period # statuses :: ReportableLens' ReportSpec [Status] # depth :: ReportableLens' ReportSpec (Maybe Int) # date2 :: ReportableLens' ReportSpec Bool # real :: ReportableLens' ReportSpec Bool # querystring :: ReportableLens' ReportSpec [Text] #

class HasReportSpec c where #

Minimal complete definition

reportSpec

Methods

reportSpec :: Lens' c ReportSpec #

rsDay :: Lens' c Day #

rsQuery :: Lens' c Query #

rsQueryOpts :: Lens' c [QueryOpt] #

rsReportOpts :: Lens' c ReportOpts #

#### Instances

Instances details

HasReportSpec CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods reportSpec :: Lens' CliOpts ReportSpec # rsDay :: Lens' CliOpts Day # rsQuery :: Lens' CliOpts Query # rsQueryOpts :: Lens' CliOpts [QueryOpt] # rsReportOpts :: Lens' CliOpts ReportOpts #
HasReportSpec ReportSpec |
Instance details Defined in Hledger.Reports.ReportOptions Methods reportSpec :: Lens' ReportSpec ReportSpec # rsDay :: Lens' ReportSpec Day # rsQuery :: Lens' ReportSpec Query # rsQueryOpts :: Lens' ReportSpec [QueryOpt] # rsReportOpts :: Lens' ReportSpec ReportOpts #

data DisplayName #

A full name, display name, and depth for an account.

Constructors

DisplayName |
Fields displayFull :: AccountName displayName :: AccountName displayDepth :: Int

#### Instances

Instances details

ToJSON DisplayName |
Instance details Defined in Hledger.Reports.ReportTypes Methods toJSON :: DisplayName -> Value # toEncoding :: DisplayName -> Encoding # toJSONList :: [DisplayName] -> Value # toEncodingList :: [DisplayName] -> Encoding # omitField :: DisplayName -> Bool #
Show DisplayName |
Instance details Defined in Hledger.Reports.ReportTypes Methods showsPrec :: Int -> DisplayName -> ShowS show :: DisplayName -> String showList :: [DisplayName] -> ShowS
Eq DisplayName |
Instance details Defined in Hledger.Reports.ReportTypes Methods (==) :: DisplayName -> DisplayName -> Bool (/=) :: DisplayName -> DisplayName -> Bool
Ord DisplayName |
Instance details Defined in Hledger.Reports.ReportTypes Methods compare :: DisplayName -> DisplayName -> Ordering # (<) :: DisplayName -> DisplayName -> Bool # (<=) :: DisplayName -> DisplayName -> Bool # (>) :: DisplayName -> DisplayName -> Bool # (>=) :: DisplayName -> DisplayName -> Bool # max :: DisplayName -> DisplayName -> DisplayName # min :: DisplayName -> DisplayName -> DisplayName #

data CBCSubreportSpec a #

Description of one subreport within a compound balance report. Part of a CompoundBalanceCommandSpec, but also used in hledger-lib.

Constructors

CBCSubreportSpec |
Fields cbcsubreporttitle :: Text The title to use for the subreport cbcsubreportquery :: Query The Query to use for the subreport cbcsubreportoptions :: ReportOpts -> ReportOpts A function to transform the ReportOpts used to produce the subreport cbcsubreporttransform :: PeriodicReport DisplayName MixedAmount -> PeriodicReport a MixedAmount A function to transform the result of the subreport cbcsubreportincreasestotal :: Bool Whether the subreport and overall report total are of the same sign (e.g. Assets are normally positive in a balance sheet report, as is the overall total. Liabilities are normally of the opposite sign.)

data CompoundPeriodicReport a b #

A compound balance report has:

- an overall title
- the period (date span) of each column
- one or more named, normal-positive multi balance reports, with columns corresponding to the above, and a flag indicating whether they increased or decreased the overall totals
- a list of overall totals for each column, and their grand total and average

It is used in compound balance report commands like balancesheet, cashflow and incomestatement.

Constructors

CompoundPeriodicReport |
Fields cbrTitle :: Text cbrDates :: [DateSpan] cbrSubreports :: [(Text, PeriodicReport a b, Bool)] cbrTotals :: PeriodicReportRow () b

#### Instances

Instances details

Functor (CompoundPeriodicReport a) |
Instance details Defined in Hledger.Reports.ReportTypes Methods fmap :: (a0 -> b) -> CompoundPeriodicReport a a0 -> CompoundPeriodicReport a b # (<$) :: a0 -> CompoundPeriodicReport a b -> CompoundPeriodicReport a a0 #
(ToJSON b, ToJSON a) => ToJSON (CompoundPeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods toJSON :: CompoundPeriodicReport a b -> Value # toEncoding :: CompoundPeriodicReport a b -> Encoding # toJSONList :: [CompoundPeriodicReport a b] -> Value # toEncodingList :: [CompoundPeriodicReport a b] -> Encoding # omitField :: CompoundPeriodicReport a b -> Bool #
Generic (CompoundPeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Associated Types type Rep (CompoundPeriodicReport a b) :: Type -> Type Methods from :: CompoundPeriodicReport a b -> Rep (CompoundPeriodicReport a b) x to :: Rep (CompoundPeriodicReport a b) x -> CompoundPeriodicReport a b
(Show a, Show b) => Show (CompoundPeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods showsPrec :: Int -> CompoundPeriodicReport a b -> ShowS show :: CompoundPeriodicReport a b -> String showList :: [CompoundPeriodicReport a b] -> ShowS
HasAmounts b => HasAmounts (CompoundPeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> CompoundPeriodicReport a b -> CompoundPeriodicReport a b #
type Rep (CompoundPeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes type Rep (CompoundPeriodicReport a b) = D1 ('MetaData "CompoundPeriodicReport" "Hledger.Reports.ReportTypes" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "CompoundPeriodicReport" 'PrefixI 'True) ((S1 ('MetaSel ('Just "cbrTitle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "cbrDates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DateSpan])) :*: (S1 ('MetaSel ('Just "cbrSubreports") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Text, PeriodicReport a b, Bool)]) :*: S1 ('MetaSel ('Just "cbrTotals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PeriodicReportRow () b)))))

data PeriodicReportRow a b #

Constructors

PeriodicReportRow |
Fields prrName :: a prrAmounts :: [b] prrTotal :: b prrAverage :: b

#### Instances

Instances details

Bifunctor PeriodicReportRow |
Instance details Defined in Hledger.Reports.ReportTypes Methods bimap :: (a -> b) -> (c -> d) -> PeriodicReportRow a c -> PeriodicReportRow b d # first :: (a -> b) -> PeriodicReportRow a c -> PeriodicReportRow b c # second :: (b -> c) -> PeriodicReportRow a b -> PeriodicReportRow a c #
Functor (PeriodicReportRow a) |
Instance details Defined in Hledger.Reports.ReportTypes Methods fmap :: (a0 -> b) -> PeriodicReportRow a a0 -> PeriodicReportRow a b # (<$) :: a0 -> PeriodicReportRow a b -> PeriodicReportRow a a0 #
(ToJSON b, ToJSON a) => ToJSON (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods toJSON :: PeriodicReportRow a b -> Value # toEncoding :: PeriodicReportRow a b -> Encoding # toJSONList :: [PeriodicReportRow a b] -> Value # toEncodingList :: [PeriodicReportRow a b] -> Encoding # omitField :: PeriodicReportRow a b -> Bool #
Semigroup b => Semigroup (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods (<>) :: PeriodicReportRow a b -> PeriodicReportRow a b -> PeriodicReportRow a b # sconcat :: NonEmpty (PeriodicReportRow a b) -> PeriodicReportRow a b # stimes :: Integral b0 => b0 -> PeriodicReportRow a b -> PeriodicReportRow a b #
Generic (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes Associated Types type Rep (PeriodicReportRow a b) :: Type -> Type Methods from :: PeriodicReportRow a b -> Rep (PeriodicReportRow a b) x to :: Rep (PeriodicReportRow a b) x -> PeriodicReportRow a b
(Show a, Show b) => Show (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods showsPrec :: Int -> PeriodicReportRow a b -> ShowS show :: PeriodicReportRow a b -> String showList :: [PeriodicReportRow a b] -> ShowS
HasAmounts b => HasAmounts (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodicReportRow a b -> PeriodicReportRow a b #
type Rep (PeriodicReportRow a b) |
Instance details Defined in Hledger.Reports.ReportTypes type Rep (PeriodicReportRow a b) = D1 ('MetaData "PeriodicReportRow" "Hledger.Reports.ReportTypes" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "PeriodicReportRow" 'PrefixI 'True) ((S1 ('MetaSel ('Just "prrName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Just "prrAmounts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [b])) :*: (S1 ('MetaSel ('Just "prrTotal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b) :*: S1 ('MetaSel ('Just "prrAverage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 b))))

data PeriodicReport a b #

A periodic report is a generic tabular report, where each row corresponds to some label (usually an account name) and each column to a date period. The column periods are usually consecutive subperiods formed by splitting the overall report period by some report interval (daily, weekly, etc.). It has:

1. a list of each column's period (date span)
2. a list of rows, each containing:

- an account label
- the account's depth
- A list of amounts, one for each column. Depending on the value type, these can represent balance changes, ending balances, budget performance, etc. (for example, see `BalanceAccumulation` and Hledger.Cli.Commands.Balance).
- the total of the row's amounts for a periodic report, or zero for cumulative/historical reports (since summing end balances generally doesn't make sense).
- the average of the row's amounts

1. the column totals, and the overall grand total (or zero for cumulative/historical reports) and grand average.

Constructors

PeriodicReport |
Fields prDates :: [DateSpan] prRows :: [PeriodicReportRow a b] prTotals :: PeriodicReportRow () b

#### Instances

Instances details

Bifunctor PeriodicReport |
Instance details Defined in Hledger.Reports.ReportTypes Methods bimap :: (a -> b) -> (c -> d) -> PeriodicReport a c -> PeriodicReport b d # first :: (a -> b) -> PeriodicReport a c -> PeriodicReport b c # second :: (b -> c) -> PeriodicReport a b -> PeriodicReport a c #
Functor (PeriodicReport a) |
Instance details Defined in Hledger.Reports.ReportTypes Methods fmap :: (a0 -> b) -> PeriodicReport a a0 -> PeriodicReport a b # (<$) :: a0 -> PeriodicReport a b -> PeriodicReport a a0 #
(ToJSON a, ToJSON b) => ToJSON (PeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods toJSON :: PeriodicReport a b -> Value # toEncoding :: PeriodicReport a b -> Encoding # toJSONList :: [PeriodicReport a b] -> Value # toEncodingList :: [PeriodicReport a b] -> Encoding # omitField :: PeriodicReport a b -> Bool #
Generic (PeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Associated Types type Rep (PeriodicReport a b) :: Type -> Type Methods from :: PeriodicReport a b -> Rep (PeriodicReport a b) x to :: Rep (PeriodicReport a b) x -> PeriodicReport a b
(Show a, Show b) => Show (PeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods showsPrec :: Int -> PeriodicReport a b -> ShowS show :: PeriodicReport a b -> String showList :: [PeriodicReport a b] -> ShowS
HasAmounts b => HasAmounts (PeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodicReport a b -> PeriodicReport a b #
HasAmounts b => HasAmounts (Text, PeriodicReport a b, Bool) |
Instance details Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> (Text, PeriodicReport a b, Bool) -> (Text, PeriodicReport a b, Bool) #
type Rep (PeriodicReport a b) |
Instance details Defined in Hledger.Reports.ReportTypes type Rep (PeriodicReport a b) = D1 ('MetaData "PeriodicReport" "Hledger.Reports.ReportTypes" "hledger-lib-1.31-10Abz9vlABn64B0DmcMPJI" 'False) (C1 ('MetaCons "PeriodicReport" 'PrefixI 'True) (S1 ('MetaSel ('Just "prDates") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DateSpan]) :*: (S1 ('MetaSel ('Just "prRows") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PeriodicReportRow a b]) :*: S1 ('MetaSel ('Just "prTotals") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (PeriodicReportRow () b)))))

type Average #

Arguments

= MixedAmount | The average of `Change`s or `Balance`s in a report or report row.

type Total #

Arguments

= MixedAmount | The sum of `Change`s in a report or a report row. Does not make sense for `Balance`s.

type Balance #

Arguments

= MixedAmount | An ending balance as of some date.

type Percentage = Decimal #

type PostingsReportItem = (Maybe Day, Maybe Period, Maybe Text, Posting, MixedAmount) #

type PostingsReport = [PostingsReportItem] #

A postings report is a list of postings with a running total, and a little extra transaction info to help with rendering. This is used eg for the register command.

type MultiBalanceReportRow = PeriodicReportRow DisplayName MixedAmount #

type MultiBalanceReport = PeriodicReport DisplayName MixedAmount #

A multi balance report is a kind of periodic report, where the amounts correspond to balance changes or ending balances in a given period. It has:

1. a list of each column's period (date span)
2. a list of rows, each containing:

- the full account name, display name, and display depth
- A list of amounts, one for each column.
- the total of the row's amounts for a periodic report
- the average of the row's amounts

1. the column totals, and the overall grand total (or zero for cumulative/historical reports) and grand average.

type EntriesReportItem = Transaction #

type EntriesReport = [EntriesReportItem] #

A journal entries report is a list of whole transactions as originally entered in the journal (mostly). This is used by eg hledger's print command and hledger-web's journal entries view.

type BudgetReport = PeriodicReport DisplayName BudgetCell #

type BudgetReportRow = PeriodicReportRow DisplayName BudgetCell #

type BudgetCell = (Maybe Change, Maybe BudgetGoal) #

A budget report tracks expected and actual changes per account and subperiod.

type BudgetAverage = Average #

type BudgetTotal = Total #

type BudgetGoal = Change #

type BalanceReportItem = (AccountName, AccountName, Int, MixedAmount) #

type BalanceReport = ([BalanceReportItem], MixedAmount) #

A simple balance report. It has:

1. a list of items, one per account, each containing:

- the full account name
- the Ledger-style elided short account name (the leaf account name, prefixed by any boring parents immediately above); or with --flat, the full account name again
- the number of indentation steps for rendering a Ledger-style account tree, taking into account elided boring parents, --no-elide and --flat
- an amount

1. the total of all amounts

type AccountTransactionsReportItem = (Transaction, Transaction, Bool, Text, MixedAmount, MixedAmount) #

type AccountTransactionsReport = [AccountTransactionsReportItem] #

An account transactions report represents transactions affecting a particular account (or possibly several accounts, but we don't use that). It is used eg by hledger-ui's and hledger-web's register view, and hledger's aregister report, where we want to show one row per transaction, in the context of the current account. Report items consist of:

- the transaction, unmodified
- the transaction as seen in the context of the current account and query, which means:
- the transaction date is set to the "transaction context date": the earliest of the transaction date and any other posting dates of postings to the current account (matched by the report query).
- the transaction's postings are filtered, excluding any which are not matched by the report query
- a text description of the other account(s) posted to/from
- a flag indicating whether there's more than one other account involved
- the total increase/decrease to the current account
- the report transactions' running total after this transaction; or if historical balance is requested (-H), the historical running total. The historical running total includes transactions from before the report start date if one is specified, filtered by the report query. The historical running total may or may not be the account's historical running balance, depending on the report query.

Items are sorted by transaction register date (the earliest date the transaction posts to the current account), most recent first. Reporting intervals are currently ignored.

type PrefixedFilePath = FilePath #

A file path optionally prefixed by a reader name and colon (journal:, csv:, timedot:, etc.).

type Assertion = IO () #

An assertion is simply an `IO` action. Assertion failure is indicated by throwing an exception, typically `HUnitFailure`.

Instead of throwing the exception directly, you should use functions like `assertFailure` and `assertBool`.

Test cases are composed of a sequence of one or more assertions.

type AssertionPredicate = IO Bool #

The result of an assertion that hasn't been evaluated yet.

Most test cases follow the following steps:

1. Do some processing or an action.
2. Assert certain conditions.

However, this flow is not always suitable. `AssertionPredicate` allows for additional steps to be inserted without the initial action to be affected by side effects. Additionally, clean-up can be done before the test case has a chance to end. A potential work flow is:

1. Write data to a file.
2. Read data from a file, evaluate conditions.
3. Clean up the file.
4. Assert that the side effects of the read operation meet certain conditions.
5. Assert that the conditions evaluated in step 2 are met.

class Assertable t where #

Allows the extension of the assertion mechanism.

Since an `Assertion` can be a sequence of `Assertion`s and `IO` actions, there is a fair amount of flexibility of what can be achieved. As a rule, the resulting `Assertion` should be the body of a `TestCase` or part of a `TestCase`; it should not be used to assert multiple, independent conditions.

If more complex arrangements of assertions are needed, `Test` and `Testable` should be used.

Methods

assert :: t -> Assertion #

#### Instances

Instances details

Assertable String |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assert :: String -> Assertion #
Assertable () |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assert :: () -> Assertion #
Assertable Bool |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assert :: Bool -> Assertion #
Assertable t => Assertable (IO t) |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assert :: IO t -> Assertion #

data HUnitFailure #

Exception thrown by `assertFailure` etc.

Constructors

HUnitFailure (Maybe SrcLoc) String |

#### Instances

Instances details

Exception HUnitFailure |
Instance details Defined in Test.Tasty.HUnit.Orig Methods toException :: HUnitFailure -> SomeException fromException :: SomeException -> Maybe HUnitFailure displayException :: HUnitFailure -> String
Show HUnitFailure |
Instance details Defined in Test.Tasty.HUnit.Orig Methods showsPrec :: Int -> HUnitFailure -> ShowS show :: HUnitFailure -> String showList :: [HUnitFailure] -> ShowS
Eq HUnitFailure |
Instance details Defined in Test.Tasty.HUnit.Orig Methods (==) :: HUnitFailure -> HUnitFailure -> Bool (/=) :: HUnitFailure -> HUnitFailure -> Bool

class AssertionPredicable t where #

An ad-hoc class used to overload the `@?` operator.

The only intended instances of this class are ``Bool`` and ``IO` `Bool``.

You shouldn't need to interact with this class directly.

Methods

assertionPredicate :: t -> IO Bool #

#### Instances

Instances details

AssertionPredicable Bool |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assertionPredicate :: Bool -> IO Bool #
AssertionPredicable t => AssertionPredicable (IO t) |
Instance details Defined in Test.Tasty.HUnit.Orig Methods assertionPredicate :: IO t -> IO Bool #

data TimeLocale #

Constructors

TimeLocale |
Fields wDays :: [(String, String)] months :: [(String, String)] amPm :: (String, String) dateTimeFmt :: String dateFmt :: String timeFmt :: String time12Fmt :: String knownTimeZones :: [TimeZone]

#### Instances

Instances details

Show TimeLocale |
Instance details Defined in Data.Time.Format.Locale Methods showsPrec :: Int -> TimeLocale -> ShowS show :: TimeLocale -> String showList :: [TimeLocale] -> ShowS
Eq TimeLocale |
Instance details Defined in Data.Time.Format.Locale Methods (==) :: TimeLocale -> TimeLocale -> Bool (/=) :: TimeLocale -> TimeLocale -> Bool
Ord TimeLocale |
Instance details Defined in Data.Time.Format.Locale Methods compare :: TimeLocale -> TimeLocale -> Ordering # (<) :: TimeLocale -> TimeLocale -> Bool # (<=) :: TimeLocale -> TimeLocale -> Bool # (>) :: TimeLocale -> TimeLocale -> Bool # (>=) :: TimeLocale -> TimeLocale -> Bool # max :: TimeLocale -> TimeLocale -> TimeLocale # min :: TimeLocale -> TimeLocale -> TimeLocale #

data CalendarDiffDays #

Constructors

CalendarDiffDays |
Fields cdMonths :: Integer cdDays :: Integer

#### Instances

Instances details

FromJSON CalendarDiffDays |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser CalendarDiffDays # parseJSONList :: Value -> Parser [CalendarDiffDays] # omittedField :: Maybe CalendarDiffDays #
ToJSON CalendarDiffDays |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: CalendarDiffDays -> Value # toEncoding :: CalendarDiffDays -> Encoding # toJSONList :: [CalendarDiffDays] -> Value # toEncodingList :: [CalendarDiffDays] -> Encoding # omitField :: CalendarDiffDays -> Bool #
Data CalendarDiffDays |
Instance details Defined in Data.Time.Calendar.CalendarDiffDays Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CalendarDiffDays -> c CalendarDiffDays gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CalendarDiffDays toConstr :: CalendarDiffDays -> Constr dataTypeOf :: CalendarDiffDays -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CalendarDiffDays) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CalendarDiffDays) gmapT :: (forall b. Data b => b -> b) -> CalendarDiffDays -> CalendarDiffDays gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CalendarDiffDays -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CalendarDiffDays -> r gmapQ :: (forall d. Data d => d -> u) -> CalendarDiffDays -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CalendarDiffDays -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CalendarDiffDays -> m CalendarDiffDays gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CalendarDiffDays -> m CalendarDiffDays gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CalendarDiffDays -> m CalendarDiffDays
Monoid CalendarDiffDays |
Instance details Defined in Data.Time.Calendar.CalendarDiffDays Methods mempty :: CalendarDiffDays # mappend :: CalendarDiffDays -> CalendarDiffDays -> CalendarDiffDays # mconcat :: [CalendarDiffDays] -> CalendarDiffDays #
Semigroup CalendarDiffDays |
Instance details Defined in Data.Time.Calendar.CalendarDiffDays Methods (<>) :: CalendarDiffDays -> CalendarDiffDays -> CalendarDiffDays # sconcat :: NonEmpty CalendarDiffDays -> CalendarDiffDays # stimes :: Integral b => b -> CalendarDiffDays -> CalendarDiffDays #
Show CalendarDiffDays |
Instance details Defined in Data.Time.Calendar.CalendarDiffDays Methods showsPrec :: Int -> CalendarDiffDays -> ShowS show :: CalendarDiffDays -> String showList :: [CalendarDiffDays] -> ShowS
NFData CalendarDiffDays |
Instance details Defined in Data.Time.Calendar.CalendarDiffDays Methods rnf :: CalendarDiffDays -> ()
Eq CalendarDiffDays |
Instance details Defined in Data.Time.Calendar.CalendarDiffDays Methods (==) :: CalendarDiffDays -> CalendarDiffDays -> Bool (/=) :: CalendarDiffDays -> CalendarDiffDays -> Bool

type MonthOfYear = Int #

data DayOfWeek #

Constructors

Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Saturday |
Sunday |

#### Instances

Instances details

FromJSON DayOfWeek |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser DayOfWeek # parseJSONList :: Value -> Parser [DayOfWeek] # omittedField :: Maybe DayOfWeek #
FromJSONKey DayOfWeek |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction DayOfWeek # fromJSONKeyList :: FromJSONKeyFunction [DayOfWeek] #
ToJSON DayOfWeek |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: DayOfWeek -> Value # toEncoding :: DayOfWeek -> Encoding # toJSONList :: [DayOfWeek] -> Value # toEncodingList :: [DayOfWeek] -> Encoding # omitField :: DayOfWeek -> Bool #
ToJSONKey DayOfWeek |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction DayOfWeek # toJSONKeyList :: ToJSONKeyFunction [DayOfWeek] #
Data DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DayOfWeek -> c DayOfWeek gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DayOfWeek toConstr :: DayOfWeek -> Constr dataTypeOf :: DayOfWeek -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DayOfWeek) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DayOfWeek) gmapT :: (forall b. Data b => b -> b) -> DayOfWeek -> DayOfWeek gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DayOfWeek -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DayOfWeek -> r gmapQ :: (forall d. Data d => d -> u) -> DayOfWeek -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DayOfWeek -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DayOfWeek -> m DayOfWeek gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DayOfWeek -> m DayOfWeek gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DayOfWeek -> m DayOfWeek
Enum DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods succ :: DayOfWeek -> DayOfWeek pred :: DayOfWeek -> DayOfWeek toEnum :: Int -> DayOfWeek fromEnum :: DayOfWeek -> Int enumFrom :: DayOfWeek -> [DayOfWeek] enumFromThen :: DayOfWeek -> DayOfWeek -> [DayOfWeek] enumFromTo :: DayOfWeek -> DayOfWeek -> [DayOfWeek] enumFromThenTo :: DayOfWeek -> DayOfWeek -> DayOfWeek -> [DayOfWeek]
Ix DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods range :: (DayOfWeek, DayOfWeek) -> [DayOfWeek] index :: (DayOfWeek, DayOfWeek) -> DayOfWeek -> Int unsafeIndex :: (DayOfWeek, DayOfWeek) -> DayOfWeek -> Int inRange :: (DayOfWeek, DayOfWeek) -> DayOfWeek -> Bool rangeSize :: (DayOfWeek, DayOfWeek) -> Int unsafeRangeSize :: (DayOfWeek, DayOfWeek) -> Int
Read DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods readsPrec :: Int -> ReadS DayOfWeek # readList :: ReadS [DayOfWeek] # readPrec :: ReadPrec DayOfWeek # readListPrec :: ReadPrec [DayOfWeek] #
Show DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods showsPrec :: Int -> DayOfWeek -> ShowS show :: DayOfWeek -> String showList :: [DayOfWeek] -> ShowS
NFData DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods rnf :: DayOfWeek -> ()
Eq DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods (==) :: DayOfWeek -> DayOfWeek -> Bool (/=) :: DayOfWeek -> DayOfWeek -> Bool
Ord DayOfWeek |
Instance details Defined in Data.Time.Calendar.Week Methods compare :: DayOfWeek -> DayOfWeek -> Ordering # (<) :: DayOfWeek -> DayOfWeek -> Bool # (<=) :: DayOfWeek -> DayOfWeek -> Bool # (>) :: DayOfWeek -> DayOfWeek -> Bool # (>=) :: DayOfWeek -> DayOfWeek -> Bool # max :: DayOfWeek -> DayOfWeek -> DayOfWeek # min :: DayOfWeek -> DayOfWeek -> DayOfWeek #

class FormatTime t #

Minimal complete definition

formatCharacter

#### Instances

Instances details

FormatTime DotNetTime |
Instance details Defined in Data.Aeson.Types.Internal Methods formatCharacter :: Bool -> Char -> Maybe (FormatOptions -> DotNetTime -> String)

data CalendarDiffTime #

Constructors

CalendarDiffTime |
Fields ctMonths :: Integer ctTime :: NominalDiffTime

#### Instances

Instances details

FromJSON CalendarDiffTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser CalendarDiffTime # parseJSONList :: Value -> Parser [CalendarDiffTime] # omittedField :: Maybe CalendarDiffTime #
ToJSON CalendarDiffTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: CalendarDiffTime -> Value # toEncoding :: CalendarDiffTime -> Encoding # toJSONList :: [CalendarDiffTime] -> Value # toEncodingList :: [CalendarDiffTime] -> Encoding # omitField :: CalendarDiffTime -> Bool #
Data CalendarDiffTime |
Instance details Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CalendarDiffTime -> c CalendarDiffTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CalendarDiffTime toConstr :: CalendarDiffTime -> Constr dataTypeOf :: CalendarDiffTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CalendarDiffTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CalendarDiffTime) gmapT :: (forall b. Data b => b -> b) -> CalendarDiffTime -> CalendarDiffTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CalendarDiffTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CalendarDiffTime -> r gmapQ :: (forall d. Data d => d -> u) -> CalendarDiffTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> CalendarDiffTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> CalendarDiffTime -> m CalendarDiffTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CalendarDiffTime -> m CalendarDiffTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CalendarDiffTime -> m CalendarDiffTime
Monoid CalendarDiffTime |
Instance details Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods mempty :: CalendarDiffTime # mappend :: CalendarDiffTime -> CalendarDiffTime -> CalendarDiffTime # mconcat :: [CalendarDiffTime] -> CalendarDiffTime #
Semigroup CalendarDiffTime |
Instance details Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods (<>) :: CalendarDiffTime -> CalendarDiffTime -> CalendarDiffTime # sconcat :: NonEmpty CalendarDiffTime -> CalendarDiffTime # stimes :: Integral b => b -> CalendarDiffTime -> CalendarDiffTime #
Show CalendarDiffTime |
Instance details Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods showsPrec :: Int -> CalendarDiffTime -> ShowS show :: CalendarDiffTime -> String showList :: [CalendarDiffTime] -> ShowS
NFData CalendarDiffTime |
Instance details Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods rnf :: CalendarDiffTime -> ()
Eq CalendarDiffTime |
Instance details Defined in Data.Time.LocalTime.Internal.CalendarDiffTime Methods (==) :: CalendarDiffTime -> CalendarDiffTime -> Bool (/=) :: CalendarDiffTime -> CalendarDiffTime -> Bool

data NominalDiffTime #

#### Instances

Instances details

FromJSON NominalDiffTime | This instance includes a bounds check to prevent maliciously large inputs to fill up the memory of the target system. You can newtype `Scientific` and provide your own instance using `withScientific` if you want to allow larger inputs.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser NominalDiffTime # parseJSONList :: Value -> Parser [NominalDiffTime] # omittedField :: Maybe NominalDiffTime #
ToJSON NominalDiffTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: NominalDiffTime -> Value # toEncoding :: NominalDiffTime -> Encoding # toJSONList :: [NominalDiffTime] -> Value # toEncodingList :: [NominalDiffTime] -> Encoding # omitField :: NominalDiffTime -> Bool #
Data NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NominalDiffTime -> c NominalDiffTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NominalDiffTime toConstr :: NominalDiffTime -> Constr dataTypeOf :: NominalDiffTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NominalDiffTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NominalDiffTime) gmapT :: (forall b. Data b => b -> b) -> NominalDiffTime -> NominalDiffTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NominalDiffTime -> r gmapQ :: (forall d. Data d => d -> u) -> NominalDiffTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NominalDiffTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NominalDiffTime -> m NominalDiffTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NominalDiffTime -> m NominalDiffTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NominalDiffTime -> m NominalDiffTime
Enum NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods succ :: NominalDiffTime -> NominalDiffTime pred :: NominalDiffTime -> NominalDiffTime toEnum :: Int -> NominalDiffTime fromEnum :: NominalDiffTime -> Int enumFrom :: NominalDiffTime -> [NominalDiffTime] enumFromThen :: NominalDiffTime -> NominalDiffTime -> [NominalDiffTime] enumFromTo :: NominalDiffTime -> NominalDiffTime -> [NominalDiffTime] enumFromThenTo :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime -> [NominalDiffTime]
Num NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods (+) :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime (-) :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime (*) :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime negate :: NominalDiffTime -> NominalDiffTime abs :: NominalDiffTime -> NominalDiffTime signum :: NominalDiffTime -> NominalDiffTime fromInteger :: Integer -> NominalDiffTime
Read NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods readsPrec :: Int -> ReadS NominalDiffTime # readList :: ReadS [NominalDiffTime] # readPrec :: ReadPrec NominalDiffTime # readListPrec :: ReadPrec [NominalDiffTime] #
Fractional NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods (/) :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime recip :: NominalDiffTime -> NominalDiffTime fromRational :: Rational -> NominalDiffTime
Real NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods toRational :: NominalDiffTime -> Rational
RealFrac NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods properFraction :: Integral b => NominalDiffTime -> (b, NominalDiffTime) truncate :: Integral b => NominalDiffTime -> b round :: Integral b => NominalDiffTime -> b ceiling :: Integral b => NominalDiffTime -> b floor :: Integral b => NominalDiffTime -> b
Show NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods showsPrec :: Int -> NominalDiffTime -> ShowS show :: NominalDiffTime -> String showList :: [NominalDiffTime] -> ShowS
NFData NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods rnf :: NominalDiffTime -> ()
Eq NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods (==) :: NominalDiffTime -> NominalDiffTime -> Bool (/=) :: NominalDiffTime -> NominalDiffTime -> Bool
Ord NominalDiffTime |
Instance details Defined in Data.Time.Clock.Internal.NominalDiffTime Methods compare :: NominalDiffTime -> NominalDiffTime -> Ordering # (<) :: NominalDiffTime -> NominalDiffTime -> Bool # (<=) :: NominalDiffTime -> NominalDiffTime -> Bool # (>) :: NominalDiffTime -> NominalDiffTime -> Bool # (>=) :: NominalDiffTime -> NominalDiffTime -> Bool # max :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime # min :: NominalDiffTime -> NominalDiffTime -> NominalDiffTime #

data DiffTime #

#### Instances

Instances details

FromJSON DiffTime | This instance includes a bounds check to prevent maliciously large inputs to fill up the memory of the target system. You can newtype `Scientific` and provide your own instance using `withScientific` if you want to allow larger inputs.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser DiffTime # parseJSONList :: Value -> Parser [DiffTime] # omittedField :: Maybe DiffTime #
ToJSON DiffTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: DiffTime -> Value # toEncoding :: DiffTime -> Encoding # toJSONList :: [DiffTime] -> Value # toEncodingList :: [DiffTime] -> Encoding # omitField :: DiffTime -> Bool #
Data DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DiffTime -> c DiffTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DiffTime toConstr :: DiffTime -> Constr dataTypeOf :: DiffTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DiffTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DiffTime) gmapT :: (forall b. Data b => b -> b) -> DiffTime -> DiffTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DiffTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DiffTime -> r gmapQ :: (forall d. Data d => d -> u) -> DiffTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> DiffTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> DiffTime -> m DiffTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DiffTime -> m DiffTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DiffTime -> m DiffTime
Enum DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods succ :: DiffTime -> DiffTime pred :: DiffTime -> DiffTime toEnum :: Int -> DiffTime fromEnum :: DiffTime -> Int enumFrom :: DiffTime -> [DiffTime] enumFromThen :: DiffTime -> DiffTime -> [DiffTime] enumFromTo :: DiffTime -> DiffTime -> [DiffTime] enumFromThenTo :: DiffTime -> DiffTime -> DiffTime -> [DiffTime]
Num DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods (+) :: DiffTime -> DiffTime -> DiffTime (-) :: DiffTime -> DiffTime -> DiffTime (*) :: DiffTime -> DiffTime -> DiffTime negate :: DiffTime -> DiffTime abs :: DiffTime -> DiffTime signum :: DiffTime -> DiffTime fromInteger :: Integer -> DiffTime
Read DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods readsPrec :: Int -> ReadS DiffTime # readList :: ReadS [DiffTime] # readPrec :: ReadPrec DiffTime # readListPrec :: ReadPrec [DiffTime] #
Fractional DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods (/) :: DiffTime -> DiffTime -> DiffTime recip :: DiffTime -> DiffTime fromRational :: Rational -> DiffTime
Real DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods toRational :: DiffTime -> Rational
RealFrac DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods properFraction :: Integral b => DiffTime -> (b, DiffTime) truncate :: Integral b => DiffTime -> b round :: Integral b => DiffTime -> b ceiling :: Integral b => DiffTime -> b floor :: Integral b => DiffTime -> b
Show DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods showsPrec :: Int -> DiffTime -> ShowS show :: DiffTime -> String showList :: [DiffTime] -> ShowS
NFData DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods rnf :: DiffTime -> ()
Eq DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods (==) :: DiffTime -> DiffTime -> Bool (/=) :: DiffTime -> DiffTime -> Bool
Ord DiffTime |
Instance details Defined in Data.Time.Clock.Internal.DiffTime Methods compare :: DiffTime -> DiffTime -> Ordering # (<) :: DiffTime -> DiffTime -> Bool # (<=) :: DiffTime -> DiffTime -> Bool # (>) :: DiffTime -> DiffTime -> Bool # (>=) :: DiffTime -> DiffTime -> Bool # max :: DiffTime -> DiffTime -> DiffTime # min :: DiffTime -> DiffTime -> DiffTime #

data LocalTime #

Constructors

LocalTime |
Fields localDay :: Day localTimeOfDay :: TimeOfDay

#### Instances

Instances details

FromJSON LocalTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser LocalTime # parseJSONList :: Value -> Parser [LocalTime] # omittedField :: Maybe LocalTime #
FromJSONKey LocalTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction LocalTime # fromJSONKeyList :: FromJSONKeyFunction [LocalTime] #
ToJSON LocalTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: LocalTime -> Value # toEncoding :: LocalTime -> Encoding # toJSONList :: [LocalTime] -> Value # toEncodingList :: [LocalTime] -> Encoding # omitField :: LocalTime -> Bool #
ToJSONKey LocalTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction LocalTime # toJSONKeyList :: ToJSONKeyFunction [LocalTime] #
Data LocalTime |
Instance details Defined in Data.Time.LocalTime.Internal.LocalTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LocalTime -> c LocalTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LocalTime toConstr :: LocalTime -> Constr dataTypeOf :: LocalTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LocalTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LocalTime) gmapT :: (forall b. Data b => b -> b) -> LocalTime -> LocalTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LocalTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LocalTime -> r gmapQ :: (forall d. Data d => d -> u) -> LocalTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> LocalTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime
Show LocalTime |
Instance details Defined in Data.Time.LocalTime.Internal.LocalTime Methods showsPrec :: Int -> LocalTime -> ShowS show :: LocalTime -> String showList :: [LocalTime] -> ShowS
NFData LocalTime |
Instance details Defined in Data.Time.LocalTime.Internal.LocalTime Methods rnf :: LocalTime -> ()
Eq LocalTime |
Instance details Defined in Data.Time.LocalTime.Internal.LocalTime Methods (==) :: LocalTime -> LocalTime -> Bool (/=) :: LocalTime -> LocalTime -> Bool
Ord LocalTime |
Instance details Defined in Data.Time.LocalTime.Internal.LocalTime Methods compare :: LocalTime -> LocalTime -> Ordering # (<) :: LocalTime -> LocalTime -> Bool # (<=) :: LocalTime -> LocalTime -> Bool # (>) :: LocalTime -> LocalTime -> Bool # (>=) :: LocalTime -> LocalTime -> Bool # max :: LocalTime -> LocalTime -> LocalTime # min :: LocalTime -> LocalTime -> LocalTime #

data TimeOfDay #

Constructors

TimeOfDay |
Fields todHour :: Int todMin :: Int todSec :: Pico

#### Instances

Instances details

FromJSON TimeOfDay |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser TimeOfDay # parseJSONList :: Value -> Parser [TimeOfDay] # omittedField :: Maybe TimeOfDay #
FromJSONKey TimeOfDay |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction TimeOfDay # fromJSONKeyList :: FromJSONKeyFunction [TimeOfDay] #
ToJSON TimeOfDay |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: TimeOfDay -> Value # toEncoding :: TimeOfDay -> Encoding # toJSONList :: [TimeOfDay] -> Value # toEncodingList :: [TimeOfDay] -> Encoding # omitField :: TimeOfDay -> Bool #
ToJSONKey TimeOfDay |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction TimeOfDay # toJSONKeyList :: ToJSONKeyFunction [TimeOfDay] #
Data TimeOfDay |
Instance details Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeOfDay -> c TimeOfDay gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeOfDay toConstr :: TimeOfDay -> Constr dataTypeOf :: TimeOfDay -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeOfDay) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeOfDay) gmapT :: (forall b. Data b => b -> b) -> TimeOfDay -> TimeOfDay gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeOfDay -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeOfDay -> r gmapQ :: (forall d. Data d => d -> u) -> TimeOfDay -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeOfDay -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeOfDay -> m TimeOfDay gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeOfDay -> m TimeOfDay gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeOfDay -> m TimeOfDay
Show TimeOfDay |
Instance details Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods showsPrec :: Int -> TimeOfDay -> ShowS show :: TimeOfDay -> String showList :: [TimeOfDay] -> ShowS
NFData TimeOfDay |
Instance details Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods rnf :: TimeOfDay -> ()
Eq TimeOfDay |
Instance details Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods (==) :: TimeOfDay -> TimeOfDay -> Bool (/=) :: TimeOfDay -> TimeOfDay -> Bool
Ord TimeOfDay |
Instance details Defined in Data.Time.LocalTime.Internal.TimeOfDay Methods compare :: TimeOfDay -> TimeOfDay -> Ordering # (<) :: TimeOfDay -> TimeOfDay -> Bool # (<=) :: TimeOfDay -> TimeOfDay -> Bool # (>) :: TimeOfDay -> TimeOfDay -> Bool # (>=) :: TimeOfDay -> TimeOfDay -> Bool # max :: TimeOfDay -> TimeOfDay -> TimeOfDay # min :: TimeOfDay -> TimeOfDay -> TimeOfDay #

data TimeZone #

Constructors

TimeZone |
Fields timeZoneMinutes :: Int timeZoneSummerOnly :: Bool timeZoneName :: String

#### Instances

Instances details

Data TimeZone |
Instance details Defined in Data.Time.LocalTime.Internal.TimeZone Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeZone -> c TimeZone gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeZone toConstr :: TimeZone -> Constr dataTypeOf :: TimeZone -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeZone) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeZone) gmapT :: (forall b. Data b => b -> b) -> TimeZone -> TimeZone gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r gmapQ :: (forall d. Data d => d -> u) -> TimeZone -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeZone -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone
Show TimeZone |
Instance details Defined in Data.Time.LocalTime.Internal.TimeZone Methods showsPrec :: Int -> TimeZone -> ShowS show :: TimeZone -> String showList :: [TimeZone] -> ShowS
NFData TimeZone |
Instance details Defined in Data.Time.LocalTime.Internal.TimeZone Methods rnf :: TimeZone -> ()
Eq TimeZone |
Instance details Defined in Data.Time.LocalTime.Internal.TimeZone Methods (==) :: TimeZone -> TimeZone -> Bool (/=) :: TimeZone -> TimeZone -> Bool
Ord TimeZone |
Instance details Defined in Data.Time.LocalTime.Internal.TimeZone Methods compare :: TimeZone -> TimeZone -> Ordering # (<) :: TimeZone -> TimeZone -> Bool # (<=) :: TimeZone -> TimeZone -> Bool # (>) :: TimeZone -> TimeZone -> Bool # (>=) :: TimeZone -> TimeZone -> Bool # max :: TimeZone -> TimeZone -> TimeZone # min :: TimeZone -> TimeZone -> TimeZone #

newtype UniversalTime #

Constructors

ModJulianDate |
Fields getModJulianDate :: Rational

#### Instances

Instances details

Data UniversalTime |
Instance details Defined in Data.Time.Clock.Internal.UniversalTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UniversalTime -> c UniversalTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UniversalTime toConstr :: UniversalTime -> Constr dataTypeOf :: UniversalTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UniversalTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UniversalTime) gmapT :: (forall b. Data b => b -> b) -> UniversalTime -> UniversalTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UniversalTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UniversalTime -> r gmapQ :: (forall d. Data d => d -> u) -> UniversalTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> UniversalTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> UniversalTime -> m UniversalTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UniversalTime -> m UniversalTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UniversalTime -> m UniversalTime
NFData UniversalTime |
Instance details Defined in Data.Time.Clock.Internal.UniversalTime Methods rnf :: UniversalTime -> ()
Eq UniversalTime |
Instance details Defined in Data.Time.Clock.Internal.UniversalTime Methods (==) :: UniversalTime -> UniversalTime -> Bool (/=) :: UniversalTime -> UniversalTime -> Bool
Ord UniversalTime |
Instance details Defined in Data.Time.Clock.Internal.UniversalTime Methods compare :: UniversalTime -> UniversalTime -> Ordering # (<) :: UniversalTime -> UniversalTime -> Bool # (<=) :: UniversalTime -> UniversalTime -> Bool # (>) :: UniversalTime -> UniversalTime -> Bool # (>=) :: UniversalTime -> UniversalTime -> Bool # max :: UniversalTime -> UniversalTime -> UniversalTime # min :: UniversalTime -> UniversalTime -> UniversalTime #

data ZonedTime #

Constructors

ZonedTime |
Fields zonedTimeToLocalTime :: LocalTime zonedTimeZone :: TimeZone

#### Instances

Instances details

FromJSON ZonedTime | Supported string formats: `YYYY-MM-DD HH:MMZ` `YYYY-MM-DD HH:MM:SSZ` `YYYY-MM-DD HH:MM:SS.SSSZ` The first space may instead be a `T`, and the second space is optional. The `Z` represents UTC. The `Z` may be replaced with a time zone offset of the form `+0000` or `-08:00`, where the first two digits are hours, the `:` is optional and the second two digits (also optional) are minutes.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser ZonedTime # parseJSONList :: Value -> Parser [ZonedTime] # omittedField :: Maybe ZonedTime #
FromJSONKey ZonedTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction ZonedTime # fromJSONKeyList :: FromJSONKeyFunction [ZonedTime] #
ToJSON ZonedTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: ZonedTime -> Value # toEncoding :: ZonedTime -> Encoding # toJSONList :: [ZonedTime] -> Value # toEncodingList :: [ZonedTime] -> Encoding # omitField :: ZonedTime -> Bool #
ToJSONKey ZonedTime |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction ZonedTime # toJSONKeyList :: ToJSONKeyFunction [ZonedTime] #
Data ZonedTime |
Instance details Defined in Data.Time.LocalTime.Internal.ZonedTime Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZonedTime -> c ZonedTime gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ZonedTime toConstr :: ZonedTime -> Constr dataTypeOf :: ZonedTime -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ZonedTime) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime) gmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r gmapQ :: (forall d. Data d => d -> u) -> ZonedTime -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ZonedTime -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime
Show ZonedTime |
Instance details Defined in Data.Time.LocalTime.Internal.ZonedTime Methods showsPrec :: Int -> ZonedTime -> ShowS show :: ZonedTime -> String showList :: [ZonedTime] -> ShowS
NFData ZonedTime |
Instance details Defined in Data.Time.LocalTime.Internal.ZonedTime Methods rnf :: ZonedTime -> ()

class ParseTime t #

Minimal complete definition

parseTimeSpecifier, buildTime

data CliOpts #

Command line options, used in the `hledger` package and above. This is the "opts" used throughout hledger CLI code. representing the options and arguments that were provided at startup on the command-line.

Constructors

CliOpts |
Fields rawopts_ :: RawOpts command_ :: String file_ :: [FilePath] inputopts_ :: InputOpts reportspec_ :: ReportSpec output_file_ :: Maybe FilePath output_format_ :: Maybe String debug_ :: Int debug level, set by `--debug[=N]`. See also `debugLevel`. no_new_accounts_ :: Bool width_ :: Maybe String the --width value provided, if any available_width_ :: Int estimated usable screen width, based on 1. the COLUMNS env var, if set 2. the width reported by the terminal, if supported 3. the default (80) progstarttime_ :: POSIXTime

#### Instances

Instances details

Show CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods showsPrec :: Int -> CliOpts -> ShowS show :: CliOpts -> String showList :: [CliOpts] -> ShowS
Default CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods def :: CliOpts #
HasCliOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods cliOpts :: Lens' CliOpts CliOpts # available_width :: Lens' CliOpts Int # command :: Lens' CliOpts String # debug__ :: Lens' CliOpts Int # file__ :: Lens' CliOpts [FilePath] # inputopts :: Lens' CliOpts InputOpts # no_new_accounts :: Lens' CliOpts Bool # output_file :: Lens' CliOpts (Maybe FilePath) # output_format :: Lens' CliOpts (Maybe String) # progstarttime :: Lens' CliOpts POSIXTime # rawopts__ :: Lens' CliOpts RawOpts # reportspec :: Lens' CliOpts ReportSpec # width__ :: Lens' CliOpts (Maybe String) #
HasBalancingOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods balancingOpts :: Lens' CliOpts BalancingOpts # commodity_styles :: Lens' CliOpts (Maybe (Map CommoditySymbol AmountStyle)) # ignore_assertions :: Lens' CliOpts Bool # infer_balancing_costs :: Lens' CliOpts Bool #
HasInputOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods inputOpts :: Lens' CliOpts InputOpts # aliases :: Lens' CliOpts [String] # anon__ :: Lens' CliOpts Bool # auto__ :: Lens' CliOpts Bool # balancingopts :: Lens' CliOpts BalancingOpts # forecast :: Lens' CliOpts (Maybe DateSpan) # infer_costs :: Lens' CliOpts Bool # infer_equity :: Lens' CliOpts Bool # ioDay :: Lens' CliOpts Day # mformat :: Lens' CliOpts (Maybe StorageFormat) # mrules_file :: Lens' CliOpts (Maybe FilePath) # new__ :: Lens' CliOpts Bool # new_save :: Lens' CliOpts Bool # pivot :: Lens' CliOpts String # reportspan :: Lens' CliOpts DateSpan # strict :: Lens' CliOpts Bool # verbose_tags :: Lens' CliOpts Bool #
HasReportOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods reportOpts :: ReportableLens' CliOpts ReportOpts # period :: ReportableLens' CliOpts Period # statuses :: ReportableLens' CliOpts [Status] # depth :: ReportableLens' CliOpts (Maybe Int) # date2 :: ReportableLens' CliOpts Bool # real :: ReportableLens' CliOpts Bool # querystring :: ReportableLens' CliOpts [Text] #
HasReportOptsNoUpdate CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods reportOptsNoUpdate :: Lens' CliOpts ReportOpts # accountlistmode :: Lens' CliOpts AccountListMode # average :: Lens' CliOpts Bool # balanceaccum :: Lens' CliOpts BalanceAccumulation # balancecalc :: Lens' CliOpts BalanceCalculation # budgetpat :: Lens' CliOpts (Maybe Text) # color__ :: Lens' CliOpts Bool # conversionop :: Lens' CliOpts (Maybe ConversionOp) # date2NoUpdate :: Lens' CliOpts Bool # declared :: Lens' CliOpts Bool # depthNoUpdate :: Lens' CliOpts (Maybe Int) # drop__ :: Lens' CliOpts Int # empty__ :: Lens' CliOpts Bool # format :: Lens' CliOpts StringFormat # infer_prices :: Lens' CliOpts Bool # interval :: Lens' CliOpts Interval # invert :: Lens' CliOpts Bool # layout :: Lens' CliOpts Layout # no_elide :: Lens' CliOpts Bool # no_total :: Lens' CliOpts Bool # normalbalance :: Lens' CliOpts (Maybe NormalSign) # percent :: Lens' CliOpts Bool # periodNoUpdate :: Lens' CliOpts Period # pretty :: Lens' CliOpts Bool # querystringNoUpdate :: Lens' CliOpts [Text] # realNoUpdate :: Lens' CliOpts Bool # related :: Lens' CliOpts Bool # row_total :: Lens' CliOpts Bool # show_costs :: Lens' CliOpts Bool # sort_amount :: Lens' CliOpts Bool # statusesNoUpdate :: Lens' CliOpts [Status] # transpose__ :: Lens' CliOpts Bool # txn_dates :: Lens' CliOpts Bool # value :: Lens' CliOpts (Maybe ValuationType) #
HasReportSpec CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods reportSpec :: Lens' CliOpts ReportSpec # rsDay :: Lens' CliOpts Day # rsQuery :: Lens' CliOpts Query # rsQueryOpts :: Lens' CliOpts [QueryOpt] # rsReportOpts :: Lens' CliOpts ReportOpts #

class HasCliOpts c where #

Minimal complete definition

cliOpts

Methods

cliOpts :: Lens' c CliOpts #

available_width :: Lens' c Int #

command :: Lens' c String #

debug__ :: Lens' c Int #

file__ :: Lens' c [FilePath] #

inputopts :: Lens' c InputOpts #

no_new_accounts :: Lens' c Bool #

output_file :: Lens' c (Maybe FilePath) #

output_format :: Lens' c (Maybe String) #

progstarttime :: Lens' c POSIXTime #

rawopts__ :: Lens' c RawOpts #

reportspec :: Lens' c ReportSpec #

width__ :: Lens' c (Maybe String) #

#### Instances

Instances details

HasCliOpts CliOpts # |
Instance details Defined in Hledger.Cli.CliOptions Methods cliOpts :: Lens' CliOpts CliOpts # available_width :: Lens' CliOpts Int # command :: Lens' CliOpts String # debug__ :: Lens' CliOpts Int # file__ :: Lens' CliOpts [FilePath] # inputopts :: Lens' CliOpts InputOpts # no_new_accounts :: Lens' CliOpts Bool # output_file :: Lens' CliOpts (Maybe FilePath) # output_format :: Lens' CliOpts (Maybe String) # progstarttime :: Lens' CliOpts POSIXTime # rawopts__ :: Lens' CliOpts RawOpts # reportspec :: Lens' CliOpts ReportSpec # width__ :: Lens' CliOpts (Maybe String) #

type CommandDoc = String #

A command's documentation. Used both as part of CLI help, and as part of the hledger manual. See parseCommandDoc.

type Topic = String #

type ProgramName = String #

type PackageVersion = String #

type VersionString = String #

pattern MixedAmountKeyNoPrice :: !CommoditySymbol -> MixedAmountKey #

pattern MixedAmountKeyTotalPrice :: !CommoditySymbol -> !CommoditySymbol -> MixedAmountKey #

pattern MixedAmountKeyUnitPrice :: !CommoditySymbol -> !CommoditySymbol -> !Quantity -> MixedAmountKey #

pattern YearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day #

pattern April :: MonthOfYear #

pattern August :: MonthOfYear #

pattern BeforeCommonEra :: Integer -> Year #

pattern CommonEra :: Integer -> Year #

pattern December :: MonthOfYear #

pattern February :: MonthOfYear #

pattern January :: MonthOfYear #

pattern July :: MonthOfYear #

pattern June :: MonthOfYear #

pattern March :: MonthOfYear #

pattern May :: MonthOfYear #

pattern November :: MonthOfYear #

pattern October :: MonthOfYear #

pattern September :: MonthOfYear #

pager :: String -> IO () #

Display the given text on the terminal, using the user's $PAGER if the text is taller than the current terminal and stdout is interactive and TERM is not "dumb" (except on Windows, where a pager will not be used). If the text contains ANSI codes, because hledger thinks the current terminal supports those, the pager should be configured to display those, otherwise users will see junk on screen (#2015). We call "setLessR" at hledger startup to make that less likely.

process :: Mode a -> [String] -> Either String a #

Process a list of flags (usually obtained from `getArgs`/`expandArgsAt`) with a mode. Returns `Left` and an error message if the command line fails to parse, or `Right` and the associated value.

isLeft :: Either a b -> Bool #

fromLeft :: a -> Either a b -> a #

span :: (a -> Bool) -> [a] -> ([a], [a]) #

filter :: (a -> Bool) -> [a] -> [a] #

getCurrentDirectory :: IO FilePath #

(++) :: [a] -> [a] -> [a] #

foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b #

null :: Foldable t => t a -> Bool #

foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b #

foldl' :: Foldable t => (b -> a -> b) -> b -> t a -> b #

length :: Foldable t => t a -> Int #

elem :: (Foldable t, Eq a) => a -> t a -> Bool #

foldl1 :: Foldable t => (a -> a -> a) -> t a -> a #

foldr1 :: Foldable t => (a -> a -> a) -> t a -> a #

maximum :: (Foldable t, Ord a) => t a -> a #

minimum :: (Foldable t, Ord a) => t a -> a #

product :: (Foldable t, Num a) => t a -> a #

sum :: (Foldable t, Num a) => t a -> a #

map :: (a -> b) -> [a] -> [b] #

join :: Monad m => m (m a) -> m a #

zip :: [a] -> [b] -> [(a, b)] #

concat :: Foldable t => t [a] -> [a] #

readProcessWithExitCode :: FilePath -> [String] -> String -> IO (ExitCode, String, String) #

sort :: Ord a => [a] -> [a] #

delete :: Eq a => a -> [a] -> [a] #

oneLine :: AmountDisplayOpts #

Display Amount and MixedAmount on one line with no prices.

abort :: Partial => String -> a #

Synonym for `error`. Used for instances where the program has decided to exit because of invalid user input, or the user pressed quit etc. This function allows `error` to be reserved for programmer errors.

testCase :: TestName -> Assertion -> TestTree #

Turn an `Assertion` into a tasty test case

toUpper :: Char -> Char #

singleton :: a -> [a] #

lookup :: Eq a => a -> [(a, b)] -> Maybe b #

insert :: Ord a => a -> [a] -> [a] #

union :: Eq a => [a] -> [a] -> [a] #

mapMaybe :: (a -> Maybe b) -> [a] -> [b] #

liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r #

void :: Functor f => f a -> f () #

when :: Applicative f => Bool -> f () -> f () #

unless :: Applicative f => Bool -> f () -> f () #

($>) :: Functor f => f a -> b -> f b #

catMaybes :: [Maybe a] -> [a] #

fromMaybe :: a -> Maybe a -> a #

toLower :: Char -> Char #

(<$>) :: Functor f => (a -> b) -> f a -> f b #

liftM :: Monad m => (a1 -> r) -> m a1 -> m r #

guard :: Alternative f => Bool -> f () #

hIsTerminalDevice :: Handle -> IO Bool #

stdout :: Handle #

stdin :: Handle #

forkIO :: IO () -> IO ThreadId #

forkOS :: IO () -> IO ThreadId #

forkOn :: Int -> IO () -> IO ThreadId #

forkIOWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #

forkOnWithUnmask :: Int -> ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #

mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m () #

forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m () #

isSpace :: Char -> Bool #

takeWhile :: (a -> Bool) -> [a] -> [a] #

take :: Int -> [a] -> [a] #

isDigit :: Char -> Bool #

char8 :: TextEncoding #

isAlpha :: Char -> Bool #

unzip :: [(a, b)] -> ([a], [b]) #

forkFinally :: IO a -> (Either SomeException a -> IO ()) -> IO ThreadId #

forkOSWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #

withMVarMasked :: MVar a -> (a -> IO b) -> IO b #

(=<<) :: Monad m => (a -> m b) -> m a -> m b #

ap :: Monad m => m (a -> b) -> m a -> m b #

liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r #

liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r #

liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r #

fromRight :: b -> Either a b -> b #

isRight :: Either a b -> Bool #

sequence_ :: (Foldable t, Monad m) => t (m a) -> m () #

lines :: String -> [String] #

unlines :: [String] -> String #

unwords :: [String] -> String #

words :: String -> [String] #

mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) #

sequence :: (Traversable t, Monad m) => t (m a) -> m (t a) #

(<$!>) :: Monad m => (a -> b) -> m a -> m b #

(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c #

(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c #

filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a] #

foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b #

foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m () #

forever :: Applicative f => f a -> f b #

mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c]) #

mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a #

replicateM :: Applicative m => Int -> m a -> m [a] #

replicateM_ :: Applicative m => Int -> m a -> m () #

zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c] #

zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m () #

msum :: (Foldable t, MonadPlus m) => t (m a) -> m a #

forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b) #

(<&>) :: Functor f => f a -> (a -> b) -> f b #

head :: HasCallStack => [a] -> a #

last :: HasCallStack => [a] -> a #

(!!) :: HasCallStack => [a] -> Int -> a #

break :: (a -> Bool) -> [a] -> ([a], [a]) #

cycle :: HasCallStack => [a] -> [a] #

drop :: Int -> [a] -> [a] #

dropWhile :: (a -> Bool) -> [a] -> [a] #

group :: Eq a => [a] -> [[a]] #

groupBy :: (a -> a -> Bool) -> [a] -> [[a]] #

init :: HasCallStack => [a] -> [a] #

inits :: [a] -> [[a]] #

intersperse :: a -> [a] -> [a] #

isPrefixOf :: Eq a => [a] -> [a] -> Bool #

iterate :: (a -> a) -> a -> [a] #

nub :: Eq a => [a] -> [a] #

nubBy :: (a -> a -> Bool) -> [a] -> [a] #

partition :: (a -> Bool) -> [a] -> ([a], [a]) #

repeat :: a -> [a] #

reverse :: [a] -> [a] #

scanl :: (b -> a -> b) -> b -> [a] -> [b] #

scanl1 :: (a -> a -> a) -> [a] -> [a] #

scanr :: (a -> b -> b) -> b -> [a] -> [b] #

scanr1 :: (a -> a -> a) -> [a] -> [a] #

sortBy :: (a -> a -> Ordering) -> [a] -> [a] #

splitAt :: Int -> [a] -> ([a], [a]) #

tail :: HasCallStack => [a] -> [a] #

tails :: [a] -> [[a]] #

transpose :: [[a]] -> [[a]] #

uncons :: [a] -> Maybe (a, [a]) #

unfoldr :: (b -> Maybe (a, b)) -> b -> [a] #

zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] #

diff :: CliOpts -> Journal -> IO () #

The diff command.

traceShowId :: Show a => a -> a #

traceWith :: (a -> String) -> a -> a #

Trace a value with the given show function before returning it.

hGetContents' :: Handle -> IO String #

getContents' :: IO String #

readFile' :: FilePath -> IO String #

getArgs :: IO [String] #

getEnv :: String -> IO String #

getEnvironment :: IO [(String, String)] #

getProgName :: IO String #

lookupEnv :: String -> IO (Maybe String) #

setEnv :: String -> String -> IO () #

unsetEnv :: String -> IO () #

withArgs :: [String] -> IO a -> IO a #

withProgName :: String -> IO a -> IO a #

die :: String -> IO a #

isResourceVanishedError :: IOError -> Bool #

isResourceVanishedErrorType :: IOErrorType -> Bool #

resourceVanishedErrorType :: IOErrorType #

dupChan :: Chan a -> IO (Chan a) #

getChanContents :: Chan a -> IO [a] #

newChan :: IO (Chan a) #

readChan :: Chan a -> IO a #

writeChan :: Chan a -> a -> IO () #

writeList2Chan :: Chan a -> [a] -> IO () #

addMVarFinalizer :: MVar a -> IO () -> IO () #

mkWeakMVar :: MVar a -> IO () -> IO (Weak (MVar a)) #

modifyMVar :: MVar a -> (a -> IO (a, b)) -> IO b #

modifyMVarMasked :: MVar a -> (a -> IO (a, b)) -> IO b #

modifyMVarMasked_ :: MVar a -> (a -> IO a) -> IO () #

modifyMVar_ :: MVar a -> (a -> IO a) -> IO () #

swapMVar :: MVar a -> a -> IO a #

withMVar :: MVar a -> (a -> IO b) -> IO b #

newQSem :: Int -> IO QSem #

signalQSem :: QSem -> IO () #

waitQSem :: QSem -> IO () #

newQSemN :: Int -> IO QSemN #

signalQSemN :: QSemN -> Int -> IO () #

waitQSemN :: QSemN -> Int -> IO () #

threadDelay :: Int -> IO () #

threadWaitRead :: Fd -> IO () #

threadWaitReadSTM :: Fd -> IO (STM (), IO ()) #

threadWaitWrite :: Fd -> IO () #

threadWaitWriteSTM :: Fd -> IO (STM (), IO ()) #

getNumCapabilities :: IO Int #

killThread :: ThreadId -> IO () #

mkWeakThreadId :: ThreadId -> IO (Weak ThreadId) #

myThreadId :: IO ThreadId #

setNumCapabilities :: Int -> IO () #

threadCapability :: ThreadId -> IO (Int, Bool) #

throwTo :: Exception e => ThreadId -> e -> IO () #

yield :: IO () #

isEmptyMVar :: MVar a -> IO Bool #

newEmptyMVar :: IO (MVar a) #

newMVar :: a -> IO (MVar a) #

putMVar :: MVar a -> a -> IO () #

readMVar :: MVar a -> IO a #

takeMVar :: MVar a -> IO a #

tryPutMVar :: MVar a -> a -> IO Bool #

tryReadMVar :: MVar a -> IO (Maybe a) #

tryTakeMVar :: MVar a -> IO (Maybe a) #

rtsSupportsBoundThreads :: Bool #

isCurrentThreadBound :: IO Bool #

runInBoundThread :: IO a -> IO a #

runInUnboundThread :: IO a -> IO a #

ioError :: IOError -> IO a #

either :: (a -> c) -> (b -> c) -> Either a b -> c #

lefts :: [Either a b] -> [a] #

partitionEithers :: [Either a b] -> ([a], [b]) #

rights :: [Either a b] -> [b] #

all :: Foldable t => (a -> Bool) -> t a -> Bool #

and :: Foldable t => t Bool -> Bool #

any :: Foldable t => (a -> Bool) -> t a -> Bool #

concatMap :: Foldable t => (a -> [b]) -> t a -> [b] #

notElem :: (Foldable t, Eq a) => a -> t a -> Bool #

or :: Foldable t => t Bool -> Bool #

asum :: (Foldable t, Alternative f) => t (f a) -> f a #

find :: Foldable t => (a -> Bool) -> t a -> Maybe a #

maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a #

minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a #

foldl1' :: HasCallStack => (a -> a -> a) -> [a] -> a #

mapAccumL :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b) #

mapAccumR :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b) #

traceIO :: String -> IO () #

trace :: String -> a -> a #

replicate :: Int -> a -> [a] #

maybe :: b -> (a -> b) -> Maybe a -> b #

userError :: String -> IOError #

unzip3 :: [(a, b, c)] -> ([a], [b], [c]) #

zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] #

zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] #

appendFile :: FilePath -> String -> IO () #

getChar :: IO Char #

getContents :: IO String #

getLine :: IO String #

interact :: (String -> String) -> IO () #

print :: Show a => a -> IO () #

putChar :: Char -> IO () #

putStr :: String -> IO () #

putStrLn :: String -> IO () #

readFile :: FilePath -> IO String #

readIO :: Read a => String -> IO a #

readLn :: Read a => IO a #

writeFile :: FilePath -> String -> IO () #

intercalate :: [a] -> [[a]] -> [a] #

insertBy :: (a -> a -> Ordering) -> a -> [a] -> [a] #

iterate' :: (a -> a) -> a -> [a] #

scanl' :: (b -> a -> b) -> b -> [a] -> [b] #

(\\) :: Eq a => [a] -> [a] -> [a] #

genericLength :: Num i => [a] -> i #

zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e] #

zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] #

zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] #

zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h] #

deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a] #

deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] #

dropWhileEnd :: (a -> Bool) -> [a] -> [a] #

elemIndex :: Eq a => a -> [a] -> Maybe Int #

elemIndices :: Eq a => a -> [a] -> [Int] #

findIndex :: (a -> Bool) -> [a] -> Maybe Int #

findIndices :: (a -> Bool) -> [a] -> [Int] #

genericDrop :: Integral i => i -> [a] -> [a] #

genericIndex :: Integral i => [a] -> i -> a #

genericReplicate :: Integral i => i -> a -> [a] #

genericSplitAt :: Integral i => i -> [a] -> ([a], [a]) #

genericTake :: Integral i => i -> [a] -> [a] #

intersect :: Eq a => [a] -> [a] -> [a] #

intersectBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] #

isInfixOf :: Eq a => [a] -> [a] -> Bool #

isSuffixOf :: Eq a => [a] -> [a] -> Bool #

permutations :: [a] -> [[a]] #

sortOn :: Ord b => (a -> b) -> [a] -> [a] #

stripPrefix :: Eq a => [a] -> [a] -> Maybe [a] #

subsequences :: [a] -> [[a]] #

unionBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] #

unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d]) #

unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e]) #

unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f]) #

unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g]) #

zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)] #

zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)] #

zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)] #

zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)] #

isSubsequenceOf :: Eq a => [a] -> [a] -> Bool #

exitFailure :: IO a #

exitSuccess :: IO a #

exitWith :: ExitCode -> IO a #

hFlush :: Handle -> IO () #

utf8 :: TextEncoding #

latin1 :: TextEncoding #

mkTextEncoding :: String -> IO TextEncoding #

utf16 :: TextEncoding #

utf16be :: TextEncoding #

utf16le :: TextEncoding #

utf32 :: TextEncoding #

utf32be :: TextEncoding #

utf32le :: TextEncoding #

utf8_bom :: TextEncoding #

hClose :: Handle -> IO () #

hFileSize :: Handle -> IO Integer #

hGetBuffering :: Handle -> IO BufferMode #

hGetEcho :: Handle -> IO Bool #

hGetEncoding :: Handle -> IO (Maybe TextEncoding) #

hGetPosn :: Handle -> IO HandlePosn #

hIsClosed :: Handle -> IO Bool #

hIsEOF :: Handle -> IO Bool #

hIsOpen :: Handle -> IO Bool #

hIsReadable :: Handle -> IO Bool #

hIsSeekable :: Handle -> IO Bool #

hIsWritable :: Handle -> IO Bool #

hLookAhead :: Handle -> IO Char #

hSeek :: Handle -> SeekMode -> Integer -> IO () #

hSetBinaryMode :: Handle -> Bool -> IO () #

hSetBuffering :: Handle -> BufferMode -> IO () #

hSetEcho :: Handle -> Bool -> IO () #

hSetEncoding :: Handle -> TextEncoding -> IO () #

hSetFileSize :: Handle -> Integer -> IO () #

hSetNewlineMode :: Handle -> NewlineMode -> IO () #

hSetPosn :: HandlePosn -> IO () #

hShow :: Handle -> IO String #

hTell :: Handle -> IO Integer #

isEOF :: IO Bool #

hGetBuf :: Handle -> Ptr a -> Int -> IO Int #

hGetBufNonBlocking :: Handle -> Ptr a -> Int -> IO Int #

hGetBufSome :: Handle -> Ptr a -> Int -> IO Int #

hGetChar :: Handle -> IO Char #

hGetContents :: Handle -> IO String #

hGetLine :: Handle -> IO String #

hPutBuf :: Handle -> Ptr a -> Int -> IO () #

hPutBufNonBlocking :: Handle -> Ptr a -> Int -> IO Int #

hPutChar :: Handle -> Char -> IO () #

hPutStr :: Handle -> String -> IO () #

hPutStrLn :: Handle -> String -> IO () #

hWaitForInput :: Handle -> Int -> IO Bool #

nativeNewline :: Newline #

nativeNewlineMode :: NewlineMode #

noNewlineTranslation :: NewlineMode #

universalNewlineMode :: NewlineMode #

openBinaryFile :: FilePath -> IOMode -> IO Handle #

openFile :: FilePath -> IOMode -> IO Handle #

stderr :: Handle #

withBinaryFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r #

withFile :: FilePath -> IOMode -> (Handle -> IO r) -> IO r #

fixIO :: (a -> IO a) -> IO a #

hPrint :: Show a => Handle -> a -> IO () #

hReady :: Handle -> IO Bool #

localeEncoding :: TextEncoding #

openBinaryTempFile :: FilePath -> String -> IO (FilePath, Handle) #

openBinaryTempFileWithDefaultPermissions :: FilePath -> String -> IO (FilePath, Handle) #

openTempFile :: FilePath -> String -> IO (FilePath, Handle) #

openTempFileWithDefaultPermissions :: FilePath -> String -> IO (FilePath, Handle) #

mkIOError :: IOErrorType -> String -> Maybe Handle -> Maybe FilePath -> IOError #

isEOFError :: IOError -> Bool #

isFullError :: IOError -> Bool #

isPermissionError :: IOError -> Bool #

alreadyExistsErrorType :: IOErrorType #

alreadyInUseErrorType :: IOErrorType #

annotateIOError :: IOError -> String -> Maybe Handle -> Maybe FilePath -> IOError #

catchIOError :: IO a -> (IOError -> IO a) -> IO a #

doesNotExistErrorType :: IOErrorType #

eofErrorType :: IOErrorType #

fullErrorType :: IOErrorType #

illegalOperationErrorType :: IOErrorType #

ioeGetErrorString :: IOError -> String #

ioeGetErrorType :: IOError -> IOErrorType #

ioeGetFileName :: IOError -> Maybe FilePath #

ioeGetHandle :: IOError -> Maybe Handle #

ioeGetLocation :: IOError -> String #

ioeSetErrorString :: IOError -> String -> IOError #

ioeSetErrorType :: IOError -> IOErrorType -> IOError #

ioeSetFileName :: IOError -> FilePath -> IOError #

ioeSetHandle :: IOError -> Handle -> IOError #

ioeSetLocation :: IOError -> String -> IOError #

isAlreadyExistsError :: IOError -> Bool #

isAlreadyExistsErrorType :: IOErrorType -> Bool #

isAlreadyInUseError :: IOError -> Bool #

isAlreadyInUseErrorType :: IOErrorType -> Bool #

isDoesNotExistError :: IOError -> Bool #

isDoesNotExistErrorType :: IOErrorType -> Bool #

isEOFErrorType :: IOErrorType -> Bool #

isFullErrorType :: IOErrorType -> Bool #

isIllegalOperation :: IOError -> Bool #

isIllegalOperationErrorType :: IOErrorType -> Bool #

isPermissionErrorType :: IOErrorType -> Bool #

isUserError :: IOError -> Bool #

isUserErrorType :: IOErrorType -> Bool #

modifyIOError :: (IOError -> IOError) -> IO a -> IO a #

permissionErrorType :: IOErrorType #

tryIOError :: IO a -> IO (Either IOError a) #

userErrorType :: IOErrorType #

close :: CliOpts -> Journal -> IO () #

(<**>) :: Applicative f => f a -> f (a -> b) -> f b #

liftA :: Applicative f => (a -> b) -> f a -> f b #

liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d #

optional :: Alternative f => f a -> f (Maybe a) #

ord :: Char -> Int #

chr :: Int -> Char #

lexLitChar :: ReadS String #

readLitChar :: ReadS Char #

intToDigit :: Int -> Char #

showLitChar :: Char -> ShowS #

generalCategory :: Char -> GeneralCategory #

isAlphaNum :: Char -> Bool #

isAscii :: Char -> Bool #

isAsciiLower :: Char -> Bool #

isAsciiUpper :: Char -> Bool #

isControl :: Char -> Bool #

isHexDigit :: Char -> Bool #

isLatin1 :: Char -> Bool #

isLower :: Char -> Bool #

isLowerCase :: Char -> Bool #

isOctDigit :: Char -> Bool #

isPrint :: Char -> Bool #

isPunctuation :: Char -> Bool #

isSymbol :: Char -> Bool #

isUpper :: Char -> Bool #

isUpperCase :: Char -> Bool #

toTitle :: Char -> Char #

digitToInt :: Char -> Int #

isLetter :: Char -> Bool #

isMark :: Char -> Bool #

isNumber :: Char -> Bool #

isSeparator :: Char -> Bool #

formatRealFloat :: RealFloat a => a -> FieldFormatter #

formatInt :: (Integral a, Bounded a) => a -> FieldFormatter #

errorBadArgument :: a #

errorBadFormat :: Char -> a #

errorMissingArgument :: a #

errorShortFormat :: a #

formatChar :: Char -> FieldFormatter #

formatInteger :: Integer -> FieldFormatter #

formatString :: Bool -> Maybe Int -> Maybe Int -> String -> String #

Clip and pad a string to a minimum & maximum width, andor leftright justify it. Works on multi-line strings too (but will rewrite non-unix line endings).

hPrintf :: HPrintfType r => Handle -> String -> r #

perror :: String -> a #

printf :: PrintfType r => String -> r #

vFmt :: Char -> FieldFormat -> FieldFormat #

wrap :: Text -> Text -> Text -> Text #

Wrap a Text with the surrounding Text.

expandArgsAt :: [String] -> IO [String] #

Expand `@` directives in a list of arguments, usually obtained from `getArgs`. As an example, given the file `test.txt` with the lines `hello` and `world`:

    expandArgsAt ["@test.txt","!"] == ["hello","world","!"]

Any `@` directives in the files will be recursively expanded (raising an error if there is infinite recursion).

To supress `@` expansion, pass any `@` arguments after `--`.

joinArgs :: [String] -> String #

Given a sequence of arguments, join them together in a manner that could be used on the command line, giving preference to the Windows `cmd` shell quoting conventions.

For an alternative version, intended for actual running the result in a shell, see "System.Process.showCommandForUser"

splitArgs :: String -> [String] #

Given a string, split into the available arguments. The inverse of `joinArgs`.

parseBool :: String -> Maybe Bool #

Parse a boolean, accepts as True: true yes on enabled 1.

fromGroup :: Group a -> [a] #

Convert a group into a list.

toGroup :: [a] -> Group a #

Convert a list into a group, placing all fields in `groupUnnamed`.

modeModes :: Mode a -> [Mode a] #

Extract the modes from a `Mode`

modeFlags :: Mode a -> [Flag a] #

Extract the flags from a `Mode`

fromFlagOpt :: FlagInfo -> String #

Extract the value from inside a `FlagOpt` or `FlagOptRare`, or raises an error.

checkMode :: Mode a -> Maybe String #

Check that a mode is well formed.

remap2 :: Remap m => (a -> b) -> (b -> a) -> m a -> m b #

Restricted version of `remap` where the values are isomorphic.

remapUpdate :: (a -> b) -> (b -> (a, a -> b)) -> Update a -> Update b #

Version of `remap` for the `Update` type alias.

modeEmpty :: a -> Mode a #

Create an empty mode specifying only `modeValue`. All other fields will usually be populated using record updates.

mode :: Name -> a -> Help -> Arg a -> [Flag a] -> Mode a #

Create a mode with a name, an initial value, some help text, a way of processing arguments and a list of flags.

modes :: String -> a -> Help -> [Mode a] -> Mode a #

Create a list of modes, with a program name, an initial value, some help text and the child modes.

flagNone :: [Name] -> (a -> a) -> Help -> Flag a #

Create a flag taking no argument value, with a list of flag names, an update function and some help text.

flagOpt :: String -> [Name] -> Update a -> FlagHelp -> Help -> Flag a #

Create a flag taking an optional argument value, with an optional value, a list of flag names, an update function, the type of the argument and some help text.

flagReq :: [Name] -> Update a -> FlagHelp -> Help -> Flag a #

Create a flag taking a required argument value, with a list of flag names, an update function, the type of the argument and some help text.

flagArg :: Update a -> FlagHelp -> Arg a #

Create an argument flag, with an update function and the type of the argument.

flagBool :: [Name] -> (Bool -> a -> a) -> Help -> Flag a #

Create a boolean flag, with a list of flag names, an update function and some help text.

complete #

Arguments

:: Mode a | Mode specifying which arguments are allowed
-> [String] | Arguments the user has already typed
-> (Int, Int) | 0-based index of the argument they are currently on, and the position in that argument
-> [Complete] |

Given a current state, return the set of commands you could type now, in preference order.

helpText :: [String] -> HelpFormat -> Mode a -> [Text] #

Generate a help message from a mode. The first argument is a prefix, which is prepended when not using `HelpFormatBash` or `HelpFormatZsh`.

processArgs :: Mode a -> IO a #

Process the flags obtained by ``getArgs`` and ``expandArgsAt`` with a mode. Displays an error and exits with failure if the command line fails to parse, or returns the associated value. Implemented in terms of `process`. This function makes use of the following environment variables:

- `$CMDARGS_COMPLETE` - causes the program to produce completions using `complete`, then exit. Completions are based on the result of `getArgs`, the index of the current argument is taken from `$CMDARGS_COMPLETE` (set it to `-` to complete the last argument), and the index within that argument is taken from `$CMDARGS_COMPLETE_POS` (if set).
- `$CMDARGS_HELPER`/`$CMDARGS_HELPER_PROG` - uses the helper mechanism for entering command line programs as described in System.Console.CmdArgs.Helper.

processValue :: Mode a -> [String] -> a #

Process a list of flags (usually obtained from ``getArgs`` and ``expandArgsAt``) with a mode. Throws an error if the command line fails to parse, or returns the associated value. Implemeneted in terms of `process`. This function does not take account of any environment variables that may be set (see `processArgs`).

If you are in `IO` you will probably get a better user experience by calling `processValueIO`.

processValueIO :: Mode a -> [String] -> IO a #

Like `processValue` but on failure prints to stderr and exits the program.

flagHelpSimple :: (a -> a) -> Flag a #

Create a help flag triggered by `-?`/`--help`.

flagHelpFormat :: (HelpFormat -> TextFormat -> a -> a) -> Flag a #

Create a help flag triggered by `-?`/`--help`. The user may optionally modify help by specifying the format, such as:

    --help=all          - help for all modes
    --help=html         - help in HTML format
    --help=100          - wrap the text at 100 characters
    --help=100,one      - full text wrapped at 100 characters

flagVersion :: (a -> a) -> Flag a #

Create a version flag triggered by `-V`/`--version`.

flagNumericVersion :: (a -> a) -> Flag a #

Create a version flag triggered by `--numeric-version`.

flagsVerbosity :: (Verbosity -> a -> a) -> [Flag a] #

Create verbosity flags triggered by `-v`/`--verbose` and `-q`/`--quiet`

add :: CliOpts -> Journal -> IO () #

Read multiple transactions from the console, prompting for each field, and append them to the journal file. If the journal came from stdin, this command has no effect.

headDef :: a -> [a] -> a #

lastDef :: a -> [a] -> a #

proc :: FilePath -> [String] -> CreateProcess #

createPipe :: IO (Handle, Handle) #

createPipeFd :: IO (FD, FD) #

createProcess_ :: String -> CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) #

interruptProcessGroupOf :: ProcessHandle -> IO () #

terminateProcess :: ProcessHandle -> IO () #

getProcessExitCode :: ProcessHandle -> IO (Maybe ExitCode) #

callCommand :: String -> IO () #

callProcess :: FilePath -> [String] -> IO () #

cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) -> IO () #

createProcess :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) #

getCurrentPid :: IO Pid #

getPid :: ProcessHandle -> IO (Maybe Pid) #

rawSystem :: String -> [String] -> IO ExitCode #

readCreateProcess :: CreateProcess -> String -> IO String #

readCreateProcessWithExitCode :: CreateProcess -> String -> IO (ExitCode, String, String) #

readProcess :: FilePath -> [String] -> String -> IO String #

runCommand :: String -> IO ProcessHandle #

runInteractiveCommand :: String -> IO (Handle, Handle, Handle, ProcessHandle) #

runInteractiveProcess :: FilePath -> [String] -> Maybe FilePath -> Maybe [(String, String)] -> IO (Handle, Handle, Handle, ProcessHandle) #

runProcess :: FilePath -> [String] -> Maybe FilePath -> Maybe [(String, String)] -> Maybe Handle -> Maybe Handle -> Maybe Handle -> IO ProcessHandle #

shell :: String -> CreateProcess #

showCommandForUser :: FilePath -> [String] -> String #

spawnCommand :: String -> IO ProcessHandle #

spawnProcess :: FilePath -> [String] -> IO ProcessHandle #

system :: String -> IO ExitCode #

waitForProcess :: ProcessHandle -> IO ExitCode #

withCreateProcess :: CreateProcess -> (Maybe Handle -> Maybe Handle -> Maybe Handle -> ProcessHandle -> IO a) -> IO a #

chomp :: String -> String #

Remove all trailing newlines/carriage returns.

charWidth :: Char -> Int #

Returns width of a character in a monospace font: 0 for a combining character, 1 for a regular character, 2 for an East Asian wide character. Ambiguous characters are treated as width 1.

curry3 :: ((a, b, c) -> d) -> a -> b -> c -> d #

uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d #

first3 :: (a, b, c) -> a #

second3 :: (a, b, c) -> b #

third3 :: (a, b, c) -> c #

takeEnd :: Int -> [a] -> [a] #

Take elements from the end of a list.

spanEnd :: DateSpan -> Maybe Day #

withCurrentDirectory :: FilePath -> IO a -> IO a #

getDirectoryContents :: FilePath -> IO [FilePath] #

createDirectory :: FilePath -> IO () #

doesDirectoryExist :: FilePath -> IO Bool #

doesFileExist :: FilePath -> IO Bool #

canonicalizePath :: FilePath -> IO FilePath #

copyFile :: FilePath -> FilePath -> IO () #

copyFileWithMetadata :: FilePath -> FilePath -> IO () #

copyPermissions :: FilePath -> FilePath -> IO () #

createDirectoryIfMissing :: Bool -> FilePath -> IO () #

createDirectoryLink :: FilePath -> FilePath -> IO () #

createFileLink :: FilePath -> FilePath -> IO () #

doesPathExist :: FilePath -> IO Bool #

exeExtension :: String #

findExecutable :: String -> IO (Maybe FilePath) #

findExecutables :: String -> IO [FilePath] #

findExecutablesInDirectories :: [FilePath] -> String -> IO [FilePath] #

findFileWith :: (FilePath -> IO Bool) -> [FilePath] -> String -> IO (Maybe FilePath) #

findFilesWith :: (FilePath -> IO Bool) -> [FilePath] -> String -> IO [FilePath] #

getAccessTime :: FilePath -> IO UTCTime #

getAppUserDataDirectory :: FilePath -> IO FilePath #

getFileSize :: FilePath -> IO Integer #

getHomeDirectory :: IO FilePath #

getModificationTime :: FilePath -> IO UTCTime #

getPermissions :: FilePath -> IO Permissions #

getSymbolicLinkTarget :: FilePath -> IO FilePath #

getTemporaryDirectory :: IO FilePath #

getUserDocumentsDirectory :: IO FilePath #

getXdgDirectory :: XdgDirectory -> FilePath -> IO FilePath #

getXdgDirectoryList :: XdgDirectoryList -> IO [FilePath] #

listDirectory :: FilePath -> IO [FilePath] #

makeAbsolute :: FilePath -> IO FilePath #

makeRelativeToCurrentDirectory :: FilePath -> IO FilePath #

pathIsSymbolicLink :: FilePath -> IO Bool #

removeDirectory :: FilePath -> IO () #

removeDirectoryLink :: FilePath -> IO () #

removeDirectoryRecursive :: FilePath -> IO () #

removeFile :: FilePath -> IO () #

removePathForcibly :: FilePath -> IO () #

renameDirectory :: FilePath -> FilePath -> IO () #

renameFile :: FilePath -> FilePath -> IO () #

renamePath :: FilePath -> FilePath -> IO () #

setAccessTime :: FilePath -> UTCTime -> IO () #

setCurrentDirectory :: FilePath -> IO () #

setModificationTime :: FilePath -> UTCTime -> IO () #

setPermissions :: FilePath -> Permissions -> IO () #

isSymbolicLink :: FilePath -> IO Bool #

emptyPermissions :: Permissions #

findFile :: [FilePath] -> String -> IO (Maybe FilePath) #

findFiles :: [FilePath] -> String -> IO [FilePath] #

setOwnerExecutable :: Bool -> Permissions -> Permissions #

setOwnerReadable :: Bool -> Permissions -> Permissions #

setOwnerSearchable :: Bool -> Permissions -> Permissions #

setOwnerWritable :: Bool -> Permissions -> Permissions #

executablePath :: Maybe (IO (Maybe FilePath)) #

getExecutablePath :: IO FilePath #

mkPos :: Int -> Pos #

Construction of `Pos` from `Int`. The function throws `InvalidPosException` when given a non-positive argument.

Since: megaparsec-6.0.0

unPos :: Pos -> Int #

Extract `Int` from `Pos`.

Since: megaparsec-6.0.0

initialPos :: FilePath -> SourcePos #

Construct initial position (line 1, column 1) given name of source file.

sourcePosPretty :: SourcePos -> String #

Pretty-print a `SourcePos`.

Since: megaparsec-5.0.0

mkTimeout #

Arguments

:: Integer | microseconds
-> Timeout |

A shortcut for creating `Timeout` values.

Since: tasty-0.8

testGroup :: TestName -> [TestTree] -> TestTree #

Create a named group of test cases or other groups. Tests are executed in parallel. For sequential execution, see `sequentialTestGroup`.

Since: tasty-0.1

sequentialTestGroup :: TestName -> DependencyType -> [TestTree] -> TestTree #

Create a named group of test cases or other groups. Tests are executed in order. For parallel execution, see `testGroup`.

after_ #

Arguments

:: DependencyType | whether to run the tests even if some of the dependencies fail
-> Expr | the pattern
-> TestTree | the subtree that depends on other tests
-> TestTree | the subtree annotated with dependency information

Like `after`, but accepts the pattern as a syntax tree instead of a string. Useful for generating a test tree programmatically.

#### Examples

Expand

Only match on the test's own name, ignoring the group names:

    after_ AllFinish (EQ (Field NF) (StringLit "Bar")) $

testCase`"A test that depends on Foo.Bar" $ ...`

Since: tasty-1.2

after #

Arguments

:: DependencyType | whether to run the tests even if some of the dependencies fail
-> String | the pattern
-> TestTree | the subtree that depends on other tests
-> TestTree | the subtree annotated with dependency information

The `after` combinator declares dependencies between tests.

If a `TestTree` is wrapped in `after`, the tests in this tree will not run until certain other tests («dependencies») have finished. These dependencies are specified using an AWK pattern (see the «Patterns» section in the README).

Moreover, if the `DependencyType` argument is set to `AllSucceed` and at least one dependency has failed, this test tree will not run at all.

Tasty does not check that the pattern matches any tests (let alone the correct set of tests), so it is on you to supply the right pattern.

#### Examples

Expand

The following test will be executed only after all tests that contain `Foo` anywhere in their path finish.

    after AllFinish "Foo" $

testCase`"A test that depends on Foo.Bar" $ ...`

Note, however, that our test also happens to contain `Foo` as part of its name, so it also matches the pattern and becomes a dependency of itself. This will result in a `DependencyLoop` exception. To avoid this, either change the test name so that it doesn't mention `Foo` or make the pattern more specific.

You can use AWK patterns, for instance, to specify the full path to the dependency.

    after AllFinish "$0 == \"Tests.Foo.Bar\"" $

testCase`"A test that depends on Foo.Bar" $ ...`

Or only specify the dependency's own name, ignoring the group names:

    after AllFinish "$NF == \"Bar\"" $

testCase`"A test that depends on Foo.Bar" $ ...`

Since: tasty-1.2

includingOptions :: [OptionDescription] -> Ingredient #

This ingredient doesn't do anything apart from registering additional options.

The option values can be accessed using `askOption`.

Since: tasty-0.6

defaultMainWithIngredients :: [Ingredient] -> TestTree -> IO () #

Parse the command line arguments and run the tests using the provided ingredient list.

When the tests finish, this function calls `exitWith` with the exit code that indicates whether any tests have failed. See `defaultMain` for details.

Since: tasty-0.4

defaultIngredients :: [Ingredient] #

List of the default ingredients. This is what `defaultMain` uses.

At the moment it consists of `listingTests` and `consoleTestReporter`.

Since: tasty-0.4.2

adjustOption :: IsOption v => (v -> v) -> TestTree -> TestTree #

Locally adjust the option value for the given test subtree.

Since: tasty-0.1

localOption :: IsOption v => v -> TestTree -> TestTree #

Locally set the option value for the given test subtree.

Since: tasty-0.1

askOption :: IsOption v => (v -> TestTree) -> TestTree #

Customize the test tree based on the run-time options.

Since: tasty-0.6

withResource #

Arguments

:: IO a | initialize the resource
-> (a -> IO ()) | free the resource
-> (IO a -> TestTree) | ``IO` a` is an action which returns the acquired resource. Despite it being an `IO` action, the resource it returns will be acquired only once and shared across all the tests in the tree.
-> TestTree |

Acquire the resource to run this test (sub)tree and release it afterwards.

Since: tasty-0.5

toRegex :: Text -> Either RegexError Regexp #

toRegexCI :: Text -> Either RegexError Regexp #

toRegex' :: Text -> Regexp #

toRegexCI' :: Text -> Regexp #

regexMatch :: Regexp -> String -> Bool #

Test whether a Regexp matches a String. This is an alias for `matchTest` for consistent naming.

regexMatchText :: Regexp -> Text -> Bool #

Tests whether a Regexp matches a Text.

This currently unpacks the Text to a String an works on that. This is due to a performance bug in regex-tdfa (#9), which may or may not be relevant here.

regexReplace :: Regexp -> Replacement -> String -> Either RegexError String #

A memoising version of regexReplace. Caches the result for each search pattern, replacement pattern, target string tuple. This won't generate a regular expression parsing error since that is pre-compiled nowadays, but there can still be a runtime error from the replacement pattern, eg with a backreference referring to a nonexistent match group.

regexReplaceUnmemo :: Regexp -> Replacement -> String -> Either RegexError String #

regexReplaceAllBy :: Regexp -> (String -> String) -> String -> String #

fromEFDay :: EFDay -> Day #

modifyEFDay :: (Day -> Day) -> EFDay -> EFDay #

isBalanceSheetAccountType :: AccountType -> Bool #

isIncomeStatementAccountType :: AccountType -> Bool #

isAccountSubtypeOf :: AccountType -> AccountType -> Bool #

Check whether the first argument is a subtype of the second: either equal or one of the defined subtypes.

isDecimalMark :: Char -> Bool #

maCompare :: MixedAmount -> MixedAmount -> Ordering #

Compare two MixedAmounts, substituting 0 for the quantity of any missing commodities in either.

nulltransactionmodifier :: TransactionModifier #

nullperiodictransaction :: PeriodicTransaction #

nullpayeedeclarationinfo :: PayeeDeclarationInfo #

nulltagdeclarationinfo :: TagDeclarationInfo #

nullaccountdeclarationinfo :: AccountDeclarationInfo #

runExceptT :: ExceptT e m a -> m (Either e a) #

periodAsDateSpan :: Period -> DateSpan #

Convert Periods to exact DateSpans.

    >>> periodAsDateSpan (MonthPeriod 2000 1) == DateSpan (Just $ Flex $ fromGregorian 2000 1 1) (Just $ Flex $ fromGregorian 2000 2 1)
    True

dateSpanAsPeriod :: DateSpan -> Period #

Convert DateSpans to Periods.

    >>> dateSpanAsPeriod $ DateSpan (Just $ Exact $ fromGregorian 2000 1 1) (Just $ Exact $ fromGregorian 2000 2 1)
    MonthPeriod 2000 1

simplifyPeriod :: Period -> Period #

Convert PeriodBetweens to a more abstract period where possible.

    >>> simplifyPeriod $ PeriodBetween (fromGregorian 1 1 1) (fromGregorian 2 1 1)
    YearPeriod 1
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2000 10 1) (fromGregorian 2001 1 1)
    QuarterPeriod 2000 4
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2000 2 1) (fromGregorian 2000 3 1)
    MonthPeriod 2000 2
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2016 7 25) (fromGregorian 2016 8 1)
    WeekPeriod 2016-07-25
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2000 1 1) (fromGregorian 2000 1 2)
    DayPeriod 2000-01-01
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2000 2 28) (fromGregorian 2000 3 1)
    PeriodBetween 2000-02-28 2000-03-01
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2000 2 29) (fromGregorian 2000 3 1)
    DayPeriod 2000-02-29
    >>> simplifyPeriod $ PeriodBetween (fromGregorian 2000 12 31) (fromGregorian 2001 1 1)
    DayPeriod 2000-12-31

isLastDayOfMonth :: (Eq a1, Eq a2, Num a1, Num a2) => Year -> a1 -> a2 -> Bool #

isStandardPeriod :: Period -> Bool #

Is this period a "standard" period, referencing a particular day, week, month, quarter, or year ? Periods of other durations, or infinite duration, or not starting on a standard period boundary, are not.

periodTextWidth :: Period -> Int #

The width of a period of this type when displayed.

showPeriod :: Period -> Text #

Render a period as a compact display string suitable for user output.

    >>> showPeriod (WeekPeriod (fromGregorian 2016 7 25))
    "2016-07-25W30"

showPeriodMonthAbbrev :: Period -> Text #

Like showPeriod, but if it's a month period show just the 3 letter month name abbreviation for the current locale.

periodStart :: Period -> Maybe Day #

periodEnd :: Period -> Maybe Day #

periodNext :: Period -> Period #

Move a standard period to the following period of same duration. Non-standard periods are unaffected.

periodPrevious :: Period -> Period #

Move a standard period to the preceding period of same duration. Non-standard periods are unaffected.

periodNextIn :: DateSpan -> Period -> Period #

Move a standard period to the following period of same duration, staying within enclosing dates. Non-standard periods are unaffected.

periodPreviousIn :: DateSpan -> Period -> Period #

Move a standard period to the preceding period of same duration, staying within enclosing dates. Non-standard periods are unaffected.

periodMoveTo :: Day -> Period -> Period #

Move a standard period stepwise so that it encloses the given date. Non-standard periods are unaffected.

periodGrow :: Period -> Period #

Enlarge a standard period to the next larger enclosing standard period, if there is one. Eg, a day becomes the enclosing week. A week becomes whichever month the week's thursday falls into. A year becomes all (unlimited). Non-standard periods (arbitrary dates, or open-ended) are unaffected.

periodShrink :: Day -> Period -> Period #

Shrink a period to the next smaller standard period inside it, choosing the subperiod which contains today's date if possible, otherwise the first subperiod. It goes like this: unbounded periods and nonstandard periods (between two arbitrary dates) -> current year -> current quarter if it's in selected year, otherwise first quarter of selected year -> current month if it's in selected quarter, otherwise first month of selected quarter -> current week if it's in selected month, otherwise first week of selected month -> today if it's in selected week, otherwise first day of selected week, unless that's in previous month, in which case first day of month containing selected week. Shrinking a day has no effect.

mondayBefore :: Day -> Day #

yearMonthContainingWeekStarting :: Day -> (Year, MonthOfYear) #

quarterContainingMonth :: Integral a => a -> a #

firstMonthOfQuarter :: Num a => a -> a #

startOfFirstWeekInMonth :: Integer -> Int -> Day #

customErrorBundlePretty :: HledgerParseErrors -> String #

Pretty-print our custom parse errors. It is necessary to use this instead of `errorBundlePretty` when custom parse errors are thrown.

This function intercepts our custom parse errors and applies final adjustments (`finalizeCustomError`) before passing them to `errorBundlePretty`. These adjustments are part of the implementation of the behaviour of our custom parse errors.

Note: We must ensure that the offset of the `PosState` of the provided `ParseErrorBundle` is no larger than the offset specified by a `ErrorFailAt` constructor. This is guaranteed if this offset is set to 0 (that is, the beginning of the source file), which is the case for `ParseErrorBundle`s returned from `runParserT`.

wbToText :: WideBuilder -> Text #

Convert a WideBuilder to a strict Text.

wbFromText :: Text -> WideBuilder #

Convert a strict Text to a WideBuilder.

wbUnpack :: WideBuilder -> String #

Convert a WideBuilder to a String.

textElideRight :: Int -> Text -> Text #

textChomp :: Text -> Text #

Remove trailing newlines/carriage returns.

formatText :: Bool -> Maybe Int -> Maybe Int -> Text -> Text #

Clip and pad a string to a minimum & maximum width, andor leftright justify it. Works on multi-line strings too (but will rewrite non-unix line endings).

quoteIfSpaced :: Text -> Text #

Wrap a string in double quotes, and -prefix any embedded single quotes, if it contains whitespace and is not already single- or double-quoted.

textQuoteIfNeeded :: Text -> Text #

escapeDoubleQuotes :: Text -> Text #

stripquotes :: Text -> Text #

Strip one matching pair of single or double quotes on the ends of a string.

textUnbracket :: Text -> Text #

Remove all matching pairs of square brackets and parentheses from the text.

textConcatTopPadded :: [Text] -> Text #

Join several multi-line strings as side-by-side rectangular strings of the same height, top-padded. Treats wide characters as double width.

textConcatBottomPadded :: [Text] -> Text #

Join several multi-line strings as side-by-side rectangular strings of the same height, bottom-padded. Treats wide characters as double width.

fitText :: Maybe Int -> Maybe Int -> Bool -> Bool -> Text -> Text #

General-purpose wide-char-aware single-line text layout function. It can left- or right-pad a short string to a minimum width. It can left- or right-clip a long string to a maximum width, optionally inserting an ellipsis (the third argument). It clips and pads on the right when the fourth argument is true, otherwise on the left. It treats wide characters as double width.

textTakeWidth :: Int -> Text -> Text #

Double-width-character-aware string truncation. Take as many characters as possible from a string without exceeding the specified width. Eg textTakeWidth 3 "りんご" = "り".

linesPrepend :: Text -> Text -> Text #

Add a prefix to each line of a string.

linesPrepend2 :: Text -> Text -> Text -> Text #

Add a prefix to the first line of a string, and a different prefix to the remaining lines.

unlinesB :: [Builder] -> Builder #

Join a list of Text Builders with a newline after each item.

readDecimal :: Text -> Integer #

Read a decimal number from a Text. Assumes the input consists only of digit characters.

tests_Text :: TestTree #

pshow :: Show a => a -> String #

Pretty show. An easier alias for pretty-simple's pShow. This will probably show in colour if useColorOnStderr is true.

pshow' :: Show a => a -> String #

Monochrome version of pshow. This will never show in colour.

pprint :: Show a => a -> IO () #

Pretty print a showable value. An easier alias for pretty-simple's pPrint. This will print in colour if useColorOnStderr is true.

pprint' :: Show a => a -> IO () #

Monochrome version of pprint. This will never print in colour.

getTerminalHeightWidth :: IO (Maybe (Int, Int)) #

An alternative to ansi-terminal's getTerminalSize, based on the more robust-looking terminal-size package. Tries to get stdout's terminal's current height and width.

getTerminalHeight :: IO (Maybe Int) #

getTerminalWidth :: IO (Maybe Int) #

setupPager :: IO () #

Make sure our $LESS and $MORE environment variables contain R, to help ensure the common pager `less` will show our ANSI output properly. less uses $LESS by default, and $MORE when it is invoked as `more`. What the original `more` program does, I'm not sure. If $PAGER is configured to something else, this probably will have no effect.

progArgs :: [String] #

The command line arguments that were used at program startup. Uses unsafePerformIO.

outputFileOption :: Maybe String #

Read the value of the -o/--output-file command line option provided at program startup, if any, using unsafePerformIO.

hasOutputFile :: Bool #

Check whether the -o/--output-file option has been used at program startup with an argument other than "-", using unsafePerformIO.

bold' :: String -> String #

Versions of some of text-ansi's string colors/styles which are more careful to not print junk onscreen. These use our useColorOnStdout.

faint' :: String -> String #

black' :: String -> String #

red' :: String -> String #

green' :: String -> String #

yellow' :: String -> String #

blue' :: String -> String #

magenta' :: String -> String #

cyan' :: String -> String #

white' :: String -> String #

brightBlack' :: String -> String #

brightRed' :: String -> String #

brightGreen' :: String -> String #

brightYellow' :: String -> String #

brightBlue' :: String -> String #

brightMagenta' :: String -> String #

brightCyan' :: String -> String #

brightWhite' :: String -> String #

rgb' :: Word8 -> Word8 -> Word8 -> String -> String #

colorOption :: String #

Read the value of the --color or --colour command line option provided at program startup using unsafePerformIO. If this option was not provided, returns the empty string.

useColorOnStdout :: Bool #

Check the IO environment to see if ANSI colour codes should be used on stdout. This is done using unsafePerformIO so it can be used anywhere, eg in low-level debug utilities, which should be ok since we are just reading. The logic is: use color if the program was started with --color=yes|always or ( the program was not started with --color=no|never and a NO_COLOR environment variable is not defined and stdout supports ANSI color and -o/--output-file was not used, or its value is "-" ).

useColorOnStderr :: Bool #

Like useColorOnStdout, but checks for ANSI color support on stderr, and is not affected by -o/--output-file.

color :: ColorIntensity -> Color -> String -> String #

Wrap a string in ANSI codes to set and reset foreground colour. ColorIntensity is `Dull` or `Vivid` (ie normal and bold). Color is one of `Black`, `Red`, `Green`, `Yellow`, `Blue`, `Magenta`, `Cyan`, `White`. Eg: `color Dull Red "text"`.

bgColor :: ColorIntensity -> Color -> String -> String #

Wrap a string in ANSI codes to set and reset background colour.

colorB :: ColorIntensity -> Color -> WideBuilder -> WideBuilder #

Wrap a WideBuilder in ANSI codes to set and reset foreground colour.

bgColorB :: ColorIntensity -> Color -> WideBuilder -> WideBuilder #

Wrap a WideBuilder in ANSI codes to set and reset background colour.

terminalIsLight :: Maybe Bool #

Detect whether the terminal currently has a light background colour, if possible, using unsafePerformIO. If the terminal is transparent, its apparent light/darkness may be different.

terminalLightness :: Maybe Float #

Detect the terminal's current background lightness (0..1), if possible, using unsafePerformIO. If the terminal is transparent, its apparent lightness may be different.

terminalBgColor :: Maybe (RGB Float) #

Detect the terminal's current background colour, if possible, using unsafePerformIO.

terminalFgColor :: Maybe (RGB Float) #

Detect the terminal's current foreground colour, if possible, using unsafePerformIO.

error' :: String -> a #

Simpler alias for errorWithoutStackTrace

usageError :: String -> a #

A version of errorWithoutStackTrace that adds a usage hint.

expandHomePath :: FilePath -> IO FilePath #

Expand a tilde (representing home directory) at the start of a file path. ~username is not supported. Can raise an error.

expandPath :: FilePath -> FilePath -> IO FilePath #

Given a current directory, convert a possibly relative, possibly tilde-containing file path to an absolute one. ~username is not supported. Leaves "-" unchanged. Can raise an error.

expandGlob :: FilePath -> FilePath -> IO [FilePath] #

Like expandPath, but treats the expanded path as a glob, and returns zero or more matched absolute file paths, alphabetically sorted.

sortByModTime :: [FilePath] -> IO [FilePath] #

Given a list of existing file paths, sort them by modification time, most recent first.

readFilePortably :: FilePath -> IO Text #

Read text from a file, converting any rn line endings to n,, using the system locale's text encoding, ignoring any utf8 BOM prefix (as seen in paypal's 2018 CSV, eg) if that encoding is utf8.

readFileOrStdinPortably :: String -> IO Text #

Like readFilePortably, but read from standard input if the path is "-".

readHandlePortably :: Handle -> IO Text #

embedFileRelative :: FilePath -> Q Exp #

Like embedFile, but takes a path relative to the package directory.

getCurrentLocalTime :: IO LocalTime #

getCurrentZonedTime :: IO ZonedTime #

assertLeft :: (HasCallStack, Eq b, Show b) => Either a b -> Assertion #

Assert any Left value.

assertRight :: (HasCallStack, Eq a, Show a) => Either a b -> Assertion #

Assert any Right value.

assertParse :: (HasCallStack, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> Assertion #

Assert that this stateful parser runnable in IO successfully parses all of the given input text, showing the parse error if it fails. Suitable for hledger's JournalParser parsers.

assertParseEq :: (HasCallStack, Eq a, Show a, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> a -> Assertion #

Assert a parser produces an expected value.

assertParseEqOn :: (HasCallStack, Eq b, Show b, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> (a -> b) -> b -> Assertion #

Like assertParseEq, but transform the parse result with the given function before comparing it.

assertParseError :: (HasCallStack, Eq a, Show a, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> String -> Assertion #

Assert that this stateful parser runnable in IO fails to parse the given input text, with a parse error containing the given string.

assertParseStateOn :: (HasCallStack, Eq b, Show b, Default st) => StateT st (ParsecT HledgerParseErrorData Text IO) a -> Text -> (st -> b) -> b -> Assertion #

Run a stateful parser in IO like assertParse, then assert that the final state (the wrapped state, not megaparsec's internal state), transformed by the given function, matches the given expected value.

assertParseE :: (HasCallStack, Eq a, Show a, Default st) => StateT st (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError IO)) a -> Text -> Assertion #

assertParseEqE :: (Default st, Eq a, Show a, HasCallStack) => StateT st (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError IO)) a -> Text -> a -> Assertion #

assertParseErrorE :: (Default st, Eq a, Show a, HasCallStack) => StateT st (ParsecT HledgerParseErrorData Text (ExceptT FinalParseError IO)) a -> Text -> String -> Assertion #

debugLevel :: Int #

The programs debug output verbosity. The default is 0 meaning no debug output. The `--debug` command line flag sets it to 1, or `--debug=N` sets it to a higher value (the = is required). Uses unsafePerformIO. When running in GHCI, changing this requires reloading this module.

ptrace :: Show a => a -> a #

Pretty-trace a showable value before returning it. Like Debug.Trace.traceShowId, but pretty-printing and easier to type.

traceAt :: Int -> String -> a -> a #

Trace (print to stderr) a string if the global debug level is at or above the specified level. At level 0, always prints. Otherwise, uses unsafePerformIO.

traceAtWith :: Int -> (a -> String) -> a -> a #

Trace (print to stderr) a showable value using a custom show function, if the global debug level is at or above the specified level. At level 0, always prints. Otherwise, uses unsafePerformIO.

ptraceAt :: Show a => Int -> String -> a -> a #

Pretty-print a label and a showable value to the console if the global debug level is at or above the specified level. At level 0, always prints. Otherwise, uses unsafePerformIO.

ptraceAtIO :: (MonadIO m, Show a) => Int -> String -> a -> m () #

Like ptraceAt, but convenient to insert in an IO monad and enforces monadic sequencing.

traceLog :: String -> a -> a #

Log a string to the debug log before returning the second argument. Uses unsafePerformIO.

traceLogAt :: Int -> String -> a -> a #

Log a string to the debug log before returning the second argument, if the global debug level is at or above the specified level. At level 0, always logs. Otherwise, uses unsafePerformIO.

traceLogIO :: MonadIO m => String -> m () #

Like traceLog but sequences properly in IO.

traceLogAtIO :: MonadIO m => Int -> String -> m () #

Like traceLogAt, but convenient to use in IO.

traceLogWith :: (a -> String) -> a -> a #

Log a value to the debug log with the given show function before returning it.

traceLogAtWith :: Int -> (a -> String) -> a -> a #

Log a string to the debug log before returning the second argument, if the global debug level is at or above the specified level. At level 0, always logs. Otherwise, uses unsafePerformIO.

ptraceLogAt :: Show a => Int -> String -> a -> a #

Pretty-log a label and showable value to the debug log, if the global debug level is at or above the specified level. At level 0, always prints. Otherwise, uses unsafePerformIO.

ptraceLogAtIO :: (MonadIO m, Show a) => Int -> String -> a -> m () #

Like ptraceAt, but convenient to insert in an IO monad and enforces monadic sequencing.

traceOrLog :: String -> a -> a #

traceOrLogAt :: Int -> String -> a -> a #

ptraceOrLogAt :: Show a => Int -> String -> a -> a #

ptraceOrLogAtIO :: (MonadIO m, Show a) => Int -> String -> a -> m () #

traceOrLogAtWith :: Int -> (a -> String) -> a -> a #

dbg0 :: Show a => String -> a -> a #

Pretty-trace to stderr (or log to debug log) a label and showable value, then return it.

dbg1 :: Show a => String -> a -> a #

Pretty-trace to stderr (or log to debug log) a label and showable value if the --debug level is high enough, then return the value. Uses unsafePerformIO.

dbg2 :: Show a => String -> a -> a #

dbg3 :: Show a => String -> a -> a #

dbg4 :: Show a => String -> a -> a #

dbg5 :: Show a => String -> a -> a #

dbg6 :: Show a => String -> a -> a #

dbg7 :: Show a => String -> a -> a #

dbg8 :: Show a => String -> a -> a #

dbg9 :: Show a => String -> a -> a #

dbgExit :: Show a => String -> a -> a #

Like dbg0, but also exit the program. Uses unsafePerformIO.

dbg0IO :: (MonadIO m, Show a) => String -> a -> m () #

Like dbgN, but convenient to use in IO.

dbg1IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg2IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg3IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg4IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg5IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg6IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg7IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg8IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg9IO :: (MonadIO m, Show a) => String -> a -> m () #

dbg0With :: (a -> String) -> a -> a #

Like dbgN, but taking a show function instead of a label.

dbg1With :: Show a => (a -> String) -> a -> a #

dbg2With :: Show a => (a -> String) -> a -> a #

dbg3With :: Show a => (a -> String) -> a -> a #

dbg4With :: Show a => (a -> String) -> a -> a #

dbg5With :: Show a => (a -> String) -> a -> a #

dbg6With :: Show a => (a -> String) -> a -> a #

dbg7With :: Show a => (a -> String) -> a -> a #

dbg8With :: Show a => (a -> String) -> a -> a #

dbg9With :: Show a => (a -> String) -> a -> a #

traceOrLogParse :: forall (m :: Type -> Type). String -> TextParser m () #

Trace to stderr or log to debug log the provided label (if non-null) and current parser state (position and next input). See also: Hledger.Utils.Debug, megaparsec's dbg. Uses unsafePerformIO.

dbgparse :: forall (m :: Type -> Type). Int -> String -> TextParser m () #

Trace to stderr or log to debug log the provided label (if non-null) and current parser state (position and next input), if the global debug level is at or above the specified level. Uses unsafePerformIO.

sourcePosPairPretty :: (SourcePos, SourcePos) -> String #

Render a pair of source positions in human-readable form, only displaying the range of lines.

choice' :: forall (m :: Type -> Type) a. [TextParser m a] -> TextParser m a #

Backtracking choice, use this when alternatives share a prefix. Consumes no input if all choices fail.

choiceInState :: forall s (m :: Type -> Type) a. [StateT s (ParsecT HledgerParseErrorData Text m) a] -> StateT s (ParsecT HledgerParseErrorData Text m) a #

Backtracking choice, use this when alternatives share a prefix. Consumes no input if all choices fail.

surroundedBy :: Applicative m => m openclose -> m a -> m a #

parsewith :: Parsec e Text a -> Text -> Either (ParseErrorBundle Text e) a #

runTextParser :: TextParser Identity a -> Text -> Either HledgerParseErrors a #

Run a text parser in the identity monad. See also: parseWithState.

rtp :: TextParser Identity a -> Text -> Either HledgerParseErrors a #

Run a text parser in the identity monad. See also: parseWithState.

parsewithString :: Parsec e String a -> String -> Either (ParseErrorBundle String e) a #

parseWithState :: Monad m => st -> StateT st (ParsecT HledgerParseErrorData Text m) a -> Text -> m (Either HledgerParseErrors a) #

Run a stateful parser with some initial state on a text. See also: runTextParser, runJournalParser.

parseWithState' :: Stream s => st -> StateT st (ParsecT e s Identity) a -> s -> Either (ParseErrorBundle s e) a #

fromparse :: (Show t, Show (Token t), Show e) => Either (ParseErrorBundle t e) a -> a #

parseerror :: (Show t, Show (Token t), Show e) => ParseErrorBundle t e -> a #

showDateParseError :: (Show t, Show (Token t), Show e) => ParseErrorBundle t e -> String #

isNewline :: Char -> Bool #

nonspace :: forall (m :: Type -> Type). TextParser m Char #

isNonNewlineSpace :: Char -> Bool #

spacenonewline :: forall s (m :: Type -> Type). (Stream s, Char ~ Token s) => ParsecT HledgerParseErrorData s m Char #

restofline :: forall (m :: Type -> Type). TextParser m String #

skipNonNewlineSpaces :: forall s (m :: Type -> Type). (Stream s, Token s ~ Char) => ParsecT HledgerParseErrorData s m () #

skipNonNewlineSpaces1 :: forall s (m :: Type -> Type). (Stream s, Token s ~ Char) => ParsecT HledgerParseErrorData s m () #

skipNonNewlineSpaces' :: forall s (m :: Type -> Type). (Stream s, Token s ~ Char) => ParsecT HledgerParseErrorData s m Bool #

eolof :: forall (m :: Type -> Type). TextParser m () #

lowercase :: String -> String #

uppercase :: String -> String #

strip :: String -> String #

Remove leading and trailing whitespace.

lstrip :: String -> String #

Remove leading whitespace.

rstrip :: String -> String #

Remove trailing whitespace.

strip1Char :: Char -> Char -> String -> String #

Strip the given starting and ending character from the start and end of a string if both are present.

stripBy :: (Char -> Bool) -> String -> String #

Strip a run of zero or more characters matching the predicate from the start and end of a string.

strip1By :: (Char -> Bool) -> String -> String #

Strip a single balanced enclosing pair of a character matching the predicate from the start and end of a string.

chomp1 :: String -> String #

Remove all trailing newline/carriage returns, leaving just one trailing newline.

singleline :: String -> String #

Remove consecutive line breaks, replacing them with single space

stripbrackets :: String -> String #

elideLeft :: Int -> String -> String #

elideRight :: Int -> String -> String #

underline :: String -> String #

quoteIfNeeded :: String -> String #

Double-quote this string if it contains whitespace, single quotes or double-quotes, escaping the quotes as needed.

singleQuoteIfNeeded :: String -> String #

Single-quote this string if it contains whitespace or double-quotes. Does not work for strings containing single quotes.

quoteForCommandLine :: String -> String #

Try to single- and backslash-quote a string as needed to make it usable as an argument on a (sh/bash) shell command line. At least, well enough to handle common currency symbols, like $. Probably broken in many ways.

    >>> quoteForCommandLine "a"
    "a"
    >>> quoteForCommandLine "\""
    "'\"'"
    >>> quoteForCommandLine "$"
    "'\\$'"

words' :: String -> [String] #

Quote-aware version of words - don't split on spaces which are inside quotes. NB correctly handles "a'b" but not "'`a'`". Can raise an error if parsing fails.

unwords' :: [String] -> String #

Quote-aware version of unwords - single-quote strings which contain whitespace

takeWidth :: Int -> String -> String #

Double-width-character-aware string truncation. Take as many characters as possible from a string without exceeding the specified width. Eg takeWidth 3 "りんご" = "り".

strWidthAnsi :: String -> Int #

Like strWidth, but also strips ANSI escape sequences before calculating the width.

This is no longer used in code, as widths are calculated before adding ANSI escape sequences, but is being kept around for now.

strWidth :: String -> Int #

Alias for `realLength`.

stripAnsi :: String -> String #

Strip ANSI escape sequences from a string.

    >>> stripAnsi "\ESC[31m-1\ESC[m"
    "-1"

applyN :: Int -> (a -> a) -> a -> a #

Apply a function the specified number of times, which should be > 0 (otherwise does nothing). Possibly uses O(n) stack ?

mapM' :: Monad f => (a -> f b) -> [a] -> f [b] #

Like mapM but uses sequence'.

sequence' :: Monad f => [f a] -> f [a] #

This is a version of sequence based on difference lists. It is slightly faster but we mostly use it because it uses the heap instead of the stack. This has the advantage that Neil Mitchell’s trick of limiting the stack size to discover space leaks doesn’t show this as a false positive.

curry2 :: ((a, b) -> c) -> a -> b -> c #

uncurry2 :: (a -> b -> c) -> (a, b) -> c #

curry4 :: ((a, b, c, d) -> e) -> a -> b -> c -> d -> e #

uncurry4 :: (a -> b -> c -> d -> e) -> (a, b, c, d) -> e #

maximum' :: Integral a => [a] -> a #

Total version of maximum, for integral types, giving 0 for an empty list.

maximumStrict :: Ord a => [a] -> a #

Strict version of maximum that doesn’t leak space

minimumStrict :: Ord a => [a] -> a #

Strict version of minimum that doesn’t leak space

splitAtElement :: Eq a => a -> [a] -> [[a]] #

sumStrict :: Num a => [a] -> a #

Strict version of sum that doesn’t leak space

treeLeaves :: Tree a -> [a] #

Get the leaves of this tree as a list. The topmost node ("root" in hledger account trees) is not counted as a leaf.

first4 :: (a, b, c, d) -> a #

second4 :: (a, b, c, d) -> b #

third4 :: (a, b, c, d) -> c #

fourth4 :: (a, b, c, d) -> d #

first5 :: (a, b, c, d, e) -> a #

second5 :: (a, b, c, d, e) -> b #

third5 :: (a, b, c, d, e) -> c #

fourth5 :: (a, b, c, d, e) -> d #

fifth5 :: (a, b, c, d, e) -> e #

first6 :: (a, b, c, d, e, f) -> a #

second6 :: (a, b, c, d, e, f) -> b #

third6 :: (a, b, c, d, e, f) -> c #

fourth6 :: (a, b, c, d, e, f) -> d #

fifth6 :: (a, b, c, d, e, f) -> e #

sixth6 :: (a, b, c, d, e, f) -> f #

multicol :: Int -> [String] -> String #

Convert a list of strings to a multi-line multi-column list fitting within the given width. Not wide character aware.

numDigitsInt :: Integral a => Int -> a #

Find the number of digits of an `Int`.

makeHledgerClassyLenses :: Name -> DecsQ #

Make classy lenses for Hledger options fields. This is intended to be used with BalancingOpts, InputOpt, ReportOpts, ReportSpec, and CliOpts. When run on X, it will create a typeclass named HasX (except for ReportOpts, which will be named HasReportOptsNoUpdate) containing all the lenses for that type. If the field name starts with an underscore, the lens name will be created by stripping the underscore from the front on the name. If the field name ends with an underscore, the field name ends with an underscore, the lens name will be mostly created by stripping the underscore, but a few names for which this would create too many conflicts instead have a second underscore appended. ReportOpts fields for which updating them requires updating the query in ReportSpec are instead names by dropping the trailing underscore and appending NoUpdate to the name, e.g. querystring_ -> querystringNoUpdate.

There are a few reasons for the complicated rules. - We have some legacy field names ending in an underscore (e.g. value_) which we want to temporarily accommodate, before eventually switching to a more modern style (e.g. _rsReportOpts) - Certain fields in ReportOpts need to update the enclosing ReportSpec when they are updated, and it is a common programming error to forget to do this. We append NoUpdate to those lenses which will not update the enclosing field, and reserve the shorter name for manually define lenses (or at least something lens-like) which will update the ReportSpec. cf. the lengthy discussion here and in surrounding comments: https://github.com/simonmichael/hledger/pull/1545#issuecomment-881974554

tests_Utils :: TestTree #

overRawOpts :: ([(String, String)] -> [(String, String)]) -> RawOpts -> RawOpts #

setopt :: String -> String -> RawOpts -> RawOpts #

setboolopt :: String -> RawOpts -> RawOpts #

unsetboolopt :: String -> RawOpts -> RawOpts #

appendopts :: [(String, String)] -> RawOpts -> RawOpts #

boolopt :: String -> RawOpts -> Bool #

Is the named flag present ?

toggleopt :: String -> RawOpts -> Bool #

Like boolopt, except if the flag is repeated on the command line it toggles the value. An even number of repetitions is equivalent to none.

choiceopt #

Arguments

:: (String -> Maybe a) | "parser" that returns `Just` value for valid choice
-> RawOpts | actual options where to look for flag
-> Maybe a | exclusive choice among those returned as `Just` from "parser"

From a list of RawOpts, get the last one (ie the right-most on the command line) for which the given predicate returns a Just value. Useful for exclusive choice flags like --daily|--weekly|--quarterly...

    >>> import Safe (readMay)
    >>> choiceopt Just (RawOpts [("a",""), ("b",""), ("c","")])
    Just "c"
    >>> choiceopt (const Nothing) (RawOpts [("a","")])
    Nothing
    >>> choiceopt readMay (RawOpts [("LT",""),("EQ",""),("Neither","")]) :: Maybe Ordering
    Just EQ

collectopts :: ((String, String) -> Maybe a) -> RawOpts -> [a] #

Collects processed and filtered list of options preserving their order

    >>> collectopts (const Nothing) (RawOpts [("x","")])
    []
    >>> collectopts Just (RawOpts [("a",""),("b","")])
    [("a",""),("b","")]

maybestringopt :: String -> RawOpts -> Maybe String #

stringopt :: String -> RawOpts -> String #

maybecharopt :: String -> RawOpts -> Maybe Char #

listofstringopt :: String -> RawOpts -> [String] #

maybeintopt :: String -> RawOpts -> Maybe Int #

Reads the named option's Int argument, if it is present. An argument that is too small or too large will raise an error.

maybeposintopt :: String -> RawOpts -> Maybe Int #

Reads the named option's natural-number argument, if it is present. An argument that is negative or too large will raise an error.

intopt :: String -> RawOpts -> Int #

Reads the named option's Int argument. If not present it will return 0. An argument that is too small or too large will raise an error.

posintopt :: String -> RawOpts -> Int #

Reads the named option's natural-number argument. If not present it will return 0. An argument that is negative or too large will raise an error.

showDate :: Day -> Text #

showEFDate :: EFDay -> Text #

showDateSpan :: DateSpan -> Text #

Render a datespan as a display string, abbreviating into a compact form if possible. Warning, hides whether dates are Exact or Flex.

showDateSpanDebug :: DateSpan -> String #

Show a DateSpan with its begin/end dates, exact or flex.

showDateSpanMonthAbbrev :: DateSpan -> Text #

Like showDateSpan, but show month spans as just the abbreviated month name in the current locale.

getCurrentDay :: IO Day #

Get the current local date.

getCurrentMonth :: IO Int #

Get the current local month number.

getCurrentYear :: IO Integer #

Get the current local year.

elapsedSeconds :: Fractional a => UTCTime -> UTCTime -> a #

spanStart :: DateSpan -> Maybe Day #

spanStartYear :: DateSpan -> Maybe Year #

spanEndYear :: DateSpan -> Maybe Year #

spanYears :: DateSpan -> [Year] #

Get the 0-2 years mentioned explicitly in a DateSpan.

spansSpan :: [DateSpan] -> DateSpan #

Get overall span enclosing multiple sequentially ordered spans. The start and end date will be exact or flexible depending on the first span's start date and last span's end date.

splitSpan :: Bool -> Interval -> DateSpan -> [DateSpan] #

Split a DateSpan into consecutive exact spans of the specified Interval. If the first argument is true and the interval is Weeks, Months, Quarters or Years, the start date will be adjusted backward if needed to nearest natural interval boundary (a monday, first of month, first of quarter or first of year). If no interval is specified, the original span is returned. If the original span is the null date span, ie unbounded, the null date span is returned. If the original span is empty, eg if the end date is <= the start date, no spans are returned.

#### Examples:

    >>> let t i y1 m1 d1 y2 m2 d2 = splitSpan True i $ DateSpan (Just $ Flex $ fromGregorian y1 m1 d1) (Just $ Flex $ fromGregorian y2 m2 d2)
    >>> t NoInterval 2008 01 01 2009 01 01
    [DateSpan 2008]
    >>> t (Quarters 1) 2008 01 01 2009 01 01
    [DateSpan 2008Q1,DateSpan 2008Q2,DateSpan 2008Q3,DateSpan 2008Q4]
    >>> splitSpan True (Quarters 1) nulldatespan
    [DateSpan ..]
    >>> t (Days 1) 2008 01 01 2008 01 01  -- an empty datespan
    []
    >>> t (Quarters 1) 2008 01 01 2008 01 01
    []
    >>> t (Months 1) 2008 01 01 2008 04 01
    [DateSpan 2008-01,DateSpan 2008-02,DateSpan 2008-03]
    >>> t (Months 2) 2008 01 01 2008 04 01
    [DateSpan 2008-01-01..2008-02-29,DateSpan 2008-03-01..2008-04-30]
    >>> t (Weeks 1) 2008 01 01 2008 01 15
    [DateSpan 2007-12-31W01,DateSpan 2008-01-07W02,DateSpan 2008-01-14W03]
    >>> t (Weeks 2) 2008 01 01 2008 01 15
    [DateSpan 2007-12-31..2008-01-13,DateSpan 2008-01-14..2008-01-27]
    >>> t (DayOfMonth 2) 2008 01 01 2008 04 01
    [DateSpan 2007-12-02..2008-01-01,DateSpan 2008-01-02..2008-02-01,DateSpan 2008-02-02..2008-03-01,DateSpan 2008-03-02..2008-04-01]
    >>> t (WeekdayOfMonth 2 4) 2011 01 01 2011 02 15
    [DateSpan 2010-12-09..2011-01-12,DateSpan 2011-01-13..2011-02-09,DateSpan 2011-02-10..2011-03-09]
    >>> t (DaysOfWeek [2]) 2011 01 01 2011 01 15
    [DateSpan 2010-12-28..2011-01-03,DateSpan 2011-01-04..2011-01-10,DateSpan 2011-01-11..2011-01-17]
    >>> t (DayOfYear 11 29) 2011 10 01 2011 10 15
    [DateSpan 2010-11-29..2011-11-28]
    >>> t (DayOfYear 11 29) 2011 12 01 2012 12 15
    [DateSpan 2011-11-29..2012-11-28,DateSpan 2012-11-29..2013-11-28]

spansFromBoundaries :: Day -> [Day] -> [DateSpan] #

Construct a list of exact `DateSpan`s from a list of boundaries, which fit within a given range.

daysInSpan :: DateSpan -> Maybe Integer #

Count the days in a DateSpan, or if it is open-ended return Nothing.

spanContainsDate :: DateSpan -> Day -> Bool #

Does the span include the given date ?

periodContainsDate :: Period -> Day -> Bool #

Does the period include the given date ? (Here to avoid import cycle).

groupByDateSpan :: Bool -> (a -> Day) -> [DateSpan] -> [a] -> [(DateSpan, [a])] #

Group elements based on where they fall in a list of `DateSpan`s without gaps. The precondition is not checked.

spansIntersect :: [DateSpan] -> DateSpan #

Calculate the intersection of a number of datespans.

spanIntersect :: DateSpan -> DateSpan -> DateSpan #

Calculate the intersection of two datespans.

For non-intersecting spans, gives an empty span beginning on the second's start date: >>> DateSpan (Just $ Flex $ fromGregorian 2018 01 01) (Just $ Flex $ fromGregorian 2018 01 03) `spanIntersect` DateSpan (Just $ Flex $ fromGregorian 2018 01 03) (Just $ Flex $ fromGregorian 2018 01 05) DateSpan 2018-01-03..2018-01-02

spanDefaultsFrom :: DateSpan -> DateSpan -> DateSpan #

Fill any unspecified dates in the first span with the dates from the second one. Sort of a one-way spanIntersect.

spansUnion :: [DateSpan] -> DateSpan #

Calculate the union of a number of datespans.

spanUnion :: DateSpan -> DateSpan -> DateSpan #

Calculate the union of two datespans.

daysSpan :: [Day] -> DateSpan #

Calculate the minimal DateSpan containing all of the given Days (in the usual exclusive-end-date sense: beginning on the earliest, and ending on the day after the latest).

latestSpanContaining :: [DateSpan] -> Day -> Maybe DateSpan #

Select the DateSpan containing a given Day, if any, from a given list of DateSpans.

If the DateSpans are non-overlapping, this returns the unique containing DateSpan, if it exists. If the DateSpans are overlapping, it will return the containing DateSpan with the latest start date, and then latest end date.

parsePeriodExpr :: Day -> Text -> Either HledgerParseErrors (Interval, DateSpan) #

Parse a period expression to an Interval and overall DateSpan using the provided reference date, or return a parse error.

parsePeriodExpr' :: Day -> Text -> (Interval, DateSpan) #

Like parsePeriodExpr, but call error' on failure.

fixSmartDateStr :: Day -> Text -> Text #

Convert a smart date string to an explicit yyyy/mm/dd string using the provided reference date, or raise an error.

fixSmartDateStrEither :: Day -> Text -> Either HledgerParseErrors Text #

A safe version of fixSmartDateStr.

fixSmartDateStrEither' :: Day -> Text -> Either HledgerParseErrors EFDay #

fixSmartDate :: Day -> SmartDate -> EFDay #

Convert a SmartDate to a specific date using the provided reference date. This date will be exact or flexible depending on whether the day was specified exactly. (Missing least-significant parts produces a flex date.)

#### Examples:

    >>> :set -XOverloadedStrings
    >>> let t = fixSmartDateStr (fromGregorian 2008 11 26)
    >>> t "0000-01-01"
    "0000-01-01"
    >>> t "1999-12-02"
    "1999-12-02"
    >>> t "1999.12.02"
    "1999-12-02"
    >>> t "1999/3/2"
    "1999-03-02"
    >>> t "19990302"
    "1999-03-02"
    >>> t "2008/2"
    "2008-02-01"
    >>> t "0020/2"
    "0020-02-01"
    >>> t "1000"
    "1000-01-01"
    >>> t "4/2"
    "2008-04-02"
    >>> t "2"
    "2008-11-02"
    >>> t "January"
    "2008-01-01"
    >>> t "feb"
    "2008-02-01"
    >>> t "today"
    "2008-11-26"
    >>> t "yesterday"
    "2008-11-25"
    >>> t "tomorrow"
    "2008-11-27"
    >>> t "this day"
    "2008-11-26"
    >>> t "last day"
    "2008-11-25"
    >>> t "next day"
    "2008-11-27"
    >>> t "this week"  -- last monday
    "2008-11-24"
    >>> t "last week"  -- previous monday
    "2008-11-17"
    >>> t "next week"  -- next monday
    "2008-12-01"
    >>> t "this month"
    "2008-11-01"
    >>> t "last month"
    "2008-10-01"
    >>> t "next month"
    "2008-12-01"
    >>> t "this quarter"
    "2008-10-01"
    >>> t "last quarter"
    "2008-07-01"
    >>> t "next quarter"
    "2009-01-01"
    >>> t "this year"
    "2008-01-01"
    >>> t "last year"
    "2007-01-01"
    >>> t "next year"
    "2009-01-01"

t "last wed" "2008-11-19" t "next friday" "2008-11-28" t "next january" "2009-01-01"

    >>> t "in 5 days"
    "2008-12-01"
    >>> t "in 7 months"
    "2009-06-01"
    >>> t "in -2 weeks"
    "2008-11-10"
    >>> t "1 quarter ago"
    "2008-07-01"
    >>> t "1 week ahead"
    "2008-12-01"

prevday :: Day -> Day #

intervalBoundaryBefore :: Interval -> Day -> Day #

parsedateM :: String -> Maybe Day #

Try to parse a couple of date string formats: `YYYY-MM-DD`, `YYYYMMDD` or `DD`, with leading zeros required. For internal use, not quite the same as the journal's "simple dates". >>> parsedateM "20080203" Just 2008-02-03 >>> parsedateM "20080203/" Nothing >>> parsedateM "20080230" Nothing

smartdate :: forall (m :: Type -> Type). TextParser m SmartDate #

Parse a date in any of the formats allowed in Ledger's period expressions, and some others. Assumes any text in the parse stream has been lowercased. Returns a SmartDate, to be converted to a full date later (see fixSmartDate).

Examples:

    2004                                        (start of year, which must have 4+ digits)
    2004/10                                     (start of month, which must be 1-12)
    2004/10/1                                   (exact date, day must be 1-31)
    10/1                                        (month and day in current year)
    21                                          (day in current month)
    october, oct                                (start of month in current year)
    yesterday, today, tomorrow                  (-1, 0, 1 days from today)
    last/this/next day/week/month/quarter/year  (-1, 0, 1 periods from the current period)
    in n days/weeks/months/quarters/years       (n periods from the current period)
    n days/weeks/months/quarters/years ago      (-n periods from the current period)
    20181201                                    (8 digit YYYYMMDD with valid year month and day)
    201812                                      (6 digit YYYYMM with valid year and month)

Note malformed digit sequences might give surprising results:

    201813                                      (6 digits with an invalid month is parsed as start of 6-digit year)
    20181301                                    (8 digits with an invalid month is parsed as start of 8-digit year)
    20181232                                    (8 digits with an invalid day gives an error)
    201801012                                   (9+ digits beginning with a valid YYYYMMDD gives an error)

Eg:

YYYYMMDD is parsed as year-month-date if those parts are valid (>=4 digits, 1-12, and 1-31 respectively): >>> parsewith (smartdate <* eof) "20181201" Right (SmartCompleteDate 2018-12-01)

YYYYMM is parsed as year-month-01 if year and month are valid: >>> parsewith (smartdate <* eof) "201804" Right (SmartAssumeStart 2018 (Just 4))

With an invalid month, it's parsed as a year: >>> parsewith (smartdate <* eof) "201813" Right (SmartAssumeStart 201813 Nothing)

A 9+ digit number beginning with valid YYYYMMDD gives an error: >>> parsewith (smartdate <* eof) "201801012" Left (...)

Big numbers not beginning with a valid YYYYMMDD are parsed as a year: >>> parsewith (smartdate <* eof) "201813012" Right (SmartAssumeStart 201813012 Nothing)

datesepchars :: String #

datesepchar :: forall (m :: Type -> Type). TextParser m Char #

isDateSepChar :: Char -> Bool #

yearp :: forall (m :: Type -> Type). TextParser m Integer #

Parse a year number from a Text, making sure that at least four digits are used.

periodexprp :: forall (m :: Type -> Type). Day -> TextParser m (Interval, DateSpan) #

Parse a period expression, specifying a date span and optionally a reporting interval. Requires a reference "today" date for resolving any relative start/end dates (only; it is not needed for parsing the reporting interval).

    >>> let p = parsePeriodExpr (fromGregorian 2008 11 26)
    >>> p "from Aug to Oct"
    Right (NoInterval,DateSpan 2008-08-01..2008-09-30)
    >>> p "aug to oct"
    Right (NoInterval,DateSpan 2008-08-01..2008-09-30)
    >>> p "2009q2"
    Right (NoInterval,DateSpan 2009Q2)
    >>> p "Q3"
    Right (NoInterval,DateSpan 2008Q3)
    >>> p "every 3 days in Aug"
    Right (Days 3,DateSpan 2008-08)
    >>> p "daily from aug"
    Right (Days 1,DateSpan 2008-08-01..)
    >>> p "every week to 2009"
    Right (Weeks 1,DateSpan ..2008-12-31)
    >>> p "every 2nd day of month"
    Right (DayOfMonth 2,DateSpan ..)
    >>> p "every 2nd day"
    Right (DayOfMonth 2,DateSpan ..)
    >>> p "every 2nd day 2009.."
    Right (DayOfMonth 2,DateSpan 2009-01-01..)
    >>> p "every 2nd day 2009-"
    Right (DayOfMonth 2,DateSpan 2009-01-01..)
    >>> p "every 29th Nov"
    Right (DayOfYear 11 29,DateSpan ..)
    >>> p "every 29th nov ..2009"
    Right (DayOfYear 11 29,DateSpan ..2008-12-31)
    >>> p "every nov 29th"
    Right (DayOfYear 11 29,DateSpan ..)
    >>> p "every Nov 29th 2009.."
    Right (DayOfYear 11 29,DateSpan 2009-01-01..)
    >>> p "every 11/29 from 2009"
    Right (DayOfYear 11 29,DateSpan 2009-01-01..)
    >>> p "every 11/29 since 2009"
    Right (DayOfYear 11 29,DateSpan 2009-01-01..)
    >>> p "every 2nd Thursday of month to 2009"
    Right (WeekdayOfMonth 2 4,DateSpan ..2008-12-31)
    >>> p "every 1st monday of month to 2009"
    Right (WeekdayOfMonth 1 1,DateSpan ..2008-12-31)
    >>> p "every tue"
    Right (DaysOfWeek [2],DateSpan ..)
    >>> p "every 2nd day of week"
    Right (DaysOfWeek [2],DateSpan ..)
    >>> p "every 2nd day of month"
    Right (DayOfMonth 2,DateSpan ..)
    >>> p "every 2nd day"
    Right (DayOfMonth 2,DateSpan ..)
    >>> p "every 2nd day 2009.."
    Right (DayOfMonth 2,DateSpan 2009-01-01..)
    >>> p "every 2nd day of month 2009.."
    Right (DayOfMonth 2,DateSpan 2009-01-01..)

nulldatespan :: DateSpan #

emptydatespan :: DateSpan #

An exact datespan of zero length, that matches no date.

nulldate :: Day #

tests_Dates :: TestTree #

acctsepchar :: Char #

acctsep :: Text #

accountNameComponents :: AccountName -> [Text] #

accountNameFromComponents :: [Text] -> AccountName #

accountLeafName :: AccountName -> Text #

accountSummarisedName :: AccountName -> Text #

Truncate all account name components but the last to two characters.

assetAccountRegex :: Regexp #

Regular expressions matching common English top-level account names, used as a fallback when account types are not declared.

cashAccountRegex :: Regexp #

liabilityAccountRegex :: Regexp #

equityAccountRegex :: Regexp #

conversionAccountRegex :: Regexp #

revenueAccountRegex :: Regexp #

expenseAccountRegex :: Regexp #

accountNameInferType :: AccountName -> Maybe AccountType #

Try to guess an account's type from its name, matching common English top-level account names.

accountNameType :: Map AccountName AccountType -> AccountName -> Maybe AccountType #

accountNameLevel :: AccountName -> Int #

unbudgetedAccountName :: Text #

A top-level account prefixed to some accounts in budget reports. Defined here so it can be ignored by accountNameDrop.

accountNamePostingType :: AccountName -> PostingType #

accountNameWithoutPostingType :: AccountName -> AccountName #

accountNameWithPostingType :: PostingType -> AccountName -> AccountName #

joinAccountNames :: AccountName -> AccountName -> AccountName #

Prefix one account name to another, preserving posting type indicators like concatAccountNames.

concatAccountNames :: [AccountName] -> AccountName #

Join account names into one. If any of them has () or [] posting type indicators, these (the first type encountered) will also be applied to the resulting account name.

accountNameApplyAliases :: [AccountAlias] -> AccountName -> Either RegexError AccountName #

Rewrite an account name using all matching aliases from the given list, in sequence. Each alias sees the result of applying the previous aliases. Or, return any error arising from a bad regular expression in the aliases.

accountNameApplyAliasesMemo :: [AccountAlias] -> AccountName -> Either RegexError AccountName #

Memoising version of accountNameApplyAliases, maybe overkill.

accountNameDrop :: Int -> AccountName -> AccountName #

Remove some number of account name components from the front of the account name. If the special "unbudgeted" top-level account is present, it is preserved and dropping affects the rest of the account name.

expandAccountNames :: [AccountName] -> [AccountName] #

Sorted unique account names implied by these account names, ie these plus all their parent accounts up to the root. Eg: ["a:b:c","d:e"] -> ["a","a:b","a:b:c","d","d:e"]

expandAccountName :: AccountName -> [AccountName] #

"a:b:c" -> ["a","a:b","a:b:c"]

topAccountNames :: [AccountName] -> [AccountName] #

"a:b:c","d:e"
  -> ["a","d"]

parentAccountName :: AccountName -> AccountName #

parentAccountNames :: AccountName -> [AccountName] #

isAccountNamePrefixOf :: AccountName -> AccountName -> Bool #

Is the first account a parent or other ancestor of (and not the same as) the second ?

isSubAccountNameOf :: AccountName -> AccountName -> Bool #

subAccountNamesFrom :: [AccountName] -> AccountName -> [AccountName] #

From a list of account names, select those which are direct subaccounts of the given account name.

accountNameTreeFrom :: [AccountName] -> Tree AccountName #

Convert a list of account names to a tree.

elideAccountName :: Int -> AccountName -> AccountName #

Elide an account name to fit in the specified width. From the ledger 2.6 news:

      What Ledger now does is that if an account name is too long, it will
      start abbreviating the first parts of the account name down to two
      letters in length.  If this results in a string that is still too
      long, the front will be elided -- not the end.  For example:

        Expenses:Cash           ; OK, not too long
        Ex:Wednesday:Cash       ; Expenses was abbreviated to fit
        Ex:We:Afternoon:Cash    ; Expenses and Wednesday abbreviated
        ; Expenses:Wednesday:Afternoon:Lunch:Snack:Candy:Chocolate:Cash
        ..:Af:Lu:Sn:Ca:Ch:Cash  ; Abbreviated and elided!

clipAccountName :: Maybe Int -> AccountName -> AccountName #

Keep only the first n components of an account name, where n is a positive integer. If n is Just 0, returns the empty string, if n is Nothing, return the full name.

clipOrEllipsifyAccountName :: Maybe Int -> AccountName -> AccountName #

Keep only the first n components of an account name, where n is a positive integer. If n is Just 0, returns "...", if n is Nothing, return the full name.

escapeName :: AccountName -> Text #

Escape an AccountName for use within a regular expression. >>> putStr . T.unpack $ escapeName "First?!#$*?$(*) !`^#*? %)*!`#" First?!#$*?$(*) !`^#*? %)*!`#

accountNameToAccountRegex :: AccountName -> Regexp #

Convert an account name to a regular expression matching it and its subaccounts.

accountNameToAccountRegexCI :: AccountName -> Regexp #

Convert an account name to a regular expression matching it and its subaccounts, case insensitively.

accountNameToAccountOnlyRegex :: AccountName -> Regexp #

Convert an account name to a regular expression matching it but not its subaccounts.

accountNameToAccountOnlyRegexCI :: AccountName -> Regexp #

Convert an account name to a regular expression matching it but not its subaccounts, case insensitively.

tests_AccountName :: TestTree #

defaultBalanceLineFormat :: StringFormat #

Default line format for balance report: "%20(total) %2(depth_spacer)%-(account)"

parseStringFormat :: Text -> Either String StringFormat #

Parse a string format specification, or return a parse error.

defaultStringFormatStyle :: [StringFormatComponent] -> StringFormat #

tests_StringFormat :: TestTree #

showCommoditySymbol :: Text -> Text #

Show space-containing commodity symbols quoted, as they are in a journal.

isNonsimpleCommodityChar :: Char -> Bool #

quoteCommoditySymbolIfNeeded :: Text -> Text #

noColour :: AmountDisplayOpts #

Display amounts without colour, and with various other defaults.

noPrice :: AmountDisplayOpts #

Display Amount and MixedAmount with no prices.

csvDisplay :: AmountDisplayOpts #

Display Amount and MixedAmount in a form suitable for CSV output.

amountstyle :: AmountStyle #

Default amount style

nullamt :: Amount #

The empty simple amount - a zero with no commodity symbol or cost and the default amount display style.

missingamt :: Amount #

A special amount used as a marker, meaning "no explicit amount provided here, infer it when needed". It is nullamt with commodity symbol AUTO.

num :: Quantity -> Amount #

hrs :: Quantity -> Amount #

usd :: DecimalRaw Integer -> Amount #

eur :: DecimalRaw Integer -> Amount #

gbp :: DecimalRaw Integer -> Amount #

per :: Quantity -> Amount #

at :: Amount -> Amount -> Amount #

(@@) :: Amount -> Amount -> Amount #

amountWithCommodity :: CommoditySymbol -> Amount -> Amount #

Convert an amount to the specified commodity, ignoring and discarding any assigned prices and assuming an exchange rate of 1.

amountCost :: Amount -> Amount #

Convert a amount to its "cost" or "selling price" in another commodity, using its attached transaction price if it has one. Notes:

- price amounts must be MixedAmounts with exactly one component Amount (or there will be a runtime error XXX)
- price amounts should be positive in the Journal (though this is currently not enforced)

divideAmount :: Quantity -> Amount -> Amount #

Divide an amount's quantity (and its total price, if it has one) by a constant.

multiplyAmount :: Quantity -> Amount -> Amount #

Multiply an amount's quantity (and its total price, if it has one) by a constant.

isNegativeAmount :: Amount -> Bool #

Is this amount negative ? The price is ignored.

amountLooksZero :: Amount -> Bool #

Do this Amount and (and its total price, if it has one) appear to be zero when rendered with its display precision ? The display precision should usually have a specific value here; if unset, it will be treated like NaturalPrecision.

amountIsZero :: Amount -> Bool #

Is this Amount (and its total price, if it has one) exactly zero, ignoring its display precision ?

withPrecision :: Amount -> AmountPrecision -> Amount #

Set an amount's display precision, flipped.

amountSetPrecision :: AmountPrecision -> Amount -> Amount #

Set an amount's display precision.

amountSetFullPrecision :: Amount -> Amount #

Increase an amount's display precision, if needed, to enough decimal places to show it exactly (showing all significant decimal digits, without trailing zeros). If the amount's display precision is unset, it is will be treated as precision 0.

setAmountInternalPrecision :: Word8 -> Amount -> Amount #

Set an amount's internal precision, ie rounds the Decimal representing the amount's quantity to some number of decimal places. Rounding is done with Data.Decimal's default roundTo function: "If the value ends in 5 then it is rounded to the nearest even value (Banker's Rounding)". Does not change the amount's display precision. Intended mainly for internal use, eg when comparing amounts in tests.

withInternalPrecision :: Amount -> Word8 -> Amount #

Set an amount's internal precision, flipped. Intended mainly for internal use, eg when comparing amounts in tests.

setAmountDecimalPoint :: Maybe Char -> Amount -> Amount #

Set (or clear) an amount's display decimal point.

withDecimalPoint :: Amount -> Maybe Char -> Amount #

Set (or clear) an amount's display decimal point, flipped.

amountStripPrices :: Amount -> Amount #

Strip all prices from an Amount

showAmountPrice :: Amount -> WideBuilder #

canonicaliseAmount :: Map CommoditySymbol AmountStyle -> Amount -> Amount #

Canonicalise an amount's display style using the provided commodity style map. Its cost amount, if any, is not affected.

styleAmount :: Map CommoditySymbol AmountStyle -> Amount -> Amount #

Given a map of standard commodity display styles, apply the appropriate one to this amount. If there's no standard style for this amount's commodity, return the amount unchanged. Also do the same for the cost amount if any, but leave its precision unchanged.

amountSetStyles :: Map CommoditySymbol AmountStyle -> Amount -> Amount #

Given some commodity display styles, find and apply the appropriate display style to this amount, and do the same for its cost amount if any (and then stop; we assume costs don't have costs). The main amount's display precision is set or not, according to its style; the cost amount's display precision is left unchanged, regardless of its style. If no style is found for an amount, it is left unchanged.

amountSetStylesExceptPrecision :: Map CommoditySymbol AmountStyle -> Amount -> Amount #

Like amountSetStyles, but leave the display precision unchanged in both main and cost amounts.

amountStyleUnsetPrecision :: AmountStyle -> AmountStyle #

amountSetMainStyle :: Map CommoditySymbol AmountStyle -> Amount -> Amount #

Find and apply the appropriate display style, if any, to this amount. The display precision is set or not, according to the style.

amountSetCostStyle :: Map CommoditySymbol AmountStyle -> Amount -> Amount #

Find and apply the appropriate display style, if any, to this amount's cost, if any. The display precision is left unchanged, regardless of the style.

amountUnstyled :: Amount -> Amount #

Reset this amount's display style to the default.

showAmount :: Amount -> String #

Get the string representation of an amount, based on its commodity's display settings. String representations equivalent to zero are converted to just "0". The special "missing" amount is displayed as the empty string.

    showAmount = wbUnpack . showAmountB noColour

showAmountB :: AmountDisplayOpts -> Amount -> WideBuilder #

General function to generate a WideBuilder for an Amount, according the supplied AmountDisplayOpts. This is the main function to use for showing Amounts, constructing a builder; it can then be converted to a Text with wbToText, or to a String with wbUnpack. Some special cases:

- The special "missing" amount is displayed as the empty string.
- If an amount is showing digit group separators but no decimal places, we force showing a decimal mark (with nothing after it) to make it easier to parse correctly.

cshowAmount :: Amount -> String #

Colour version. For a negative amount, adds ANSI codes to change the colour, currently to hard-coded red.

    cshowAmount = wbUnpack . showAmountB def{displayColour=True}

showAmountWithoutPrice :: Amount -> String #

Get the string representation of an amount, without any @ price.

    showAmountWithoutPrice = wbUnpack . showAmountB noPrice

showAmountWithZeroCommodity :: Amount -> String #

Like showAmount, but show a zero amount's commodity if it has one.

    showAmountWithZeroCommodity = wbUnpack . showAmountB noColour{displayZeryCommodity=True}

showAmountDebug :: Amount -> String #

Get a string representation of an amount for debugging, appropriate to the current debug level. 9 shows maximum detail.

nullmixedamt :: MixedAmount #

The empty mixed amount.

missingmixedamt :: MixedAmount #

A special mixed amount used as a marker, meaning "no explicit amount provided here, infer it when needed".

isMissingMixedAmount :: MixedAmount -> Bool #

Does this MixedAmount include the "missing amount" marker ? Note: currently does not test for equality with missingmixedamt, instead it looks for missingamt among the Amounts. missingamt should always be alone, but detect it even if not.

mixed :: Foldable t => t Amount -> MixedAmount #

Convert amounts in various commodities into a mixed amount.

mixedAmount :: Amount -> MixedAmount #

Create a MixedAmount from a single Amount.

maAddAmount :: MixedAmount -> Amount -> MixedAmount #

Add an Amount to a MixedAmount, normalising the result. Amounts with different costs are kept separate.

maAddAmounts :: Foldable t => MixedAmount -> t Amount -> MixedAmount #

Add a collection of Amounts to a MixedAmount, normalising the result. Amounts with different costs are kept separate.

maNegate :: MixedAmount -> MixedAmount #

Negate mixed amount's quantities (and total prices, if any).

maPlus :: MixedAmount -> MixedAmount -> MixedAmount #

Sum two MixedAmount, keeping the cost of the first if any. Amounts with different costs are kept separate (since 2021).

maMinus :: MixedAmount -> MixedAmount -> MixedAmount #

Subtract a MixedAmount from another. Amounts with different costs are kept separate.

maSum :: Foldable t => t MixedAmount -> MixedAmount #

Sum a collection of MixedAmounts. Amounts with different costs are kept separate.

divideMixedAmount :: Quantity -> MixedAmount -> MixedAmount #

Divide a mixed amount's quantities (and total prices, if any) by a constant.

multiplyMixedAmount :: Quantity -> MixedAmount -> MixedAmount #

Multiply a mixed amount's quantities (and total prices, if any) by a constant.

averageMixedAmounts :: [MixedAmount] -> MixedAmount #

Calculate the average of some mixed amounts.

isNegativeMixedAmount :: MixedAmount -> Maybe Bool #

Is this mixed amount negative, if we can tell that unambiguously? Ie when normalised, are all individual commodity amounts negative ?

mixedAmountLooksZero :: MixedAmount -> Bool #

Does this mixed amount appear to be zero when rendered with its display precision? i.e. does it have zero quantity with no price, zero quantity with a total price (which is also zero), and zero quantity for each unit price?

mixedAmountIsZero :: MixedAmount -> Bool #

Is this mixed amount exactly zero, ignoring its display precision? i.e. does it have zero quantity with no price, zero quantity with a total price (which is also zero), and zero quantity for each unit price?

maIsZero :: MixedAmount -> Bool #

Is this mixed amount exactly zero, ignoring its display precision?

A convenient alias for mixedAmountIsZero.

maIsNonZero :: MixedAmount -> Bool #

Is this mixed amount non-zero, ignoring its display precision?

A convenient alias for not . mixedAmountIsZero.

amounts :: MixedAmount -> [Amount] #

Get a mixed amount's component amounts, with some cleanups. The following descriptions are old and possibly wrong:

- amounts in the same commodity are combined unless they have different prices or total prices
- multiple zero amounts, all with the same non-null commodity, are replaced by just the last of them, preserving the commodity and amount style (all but the last zero amount are discarded)
- multiple zero amounts with multiple commodities, or no commodities, are replaced by one commodity-less zero amount
- an empty amount list is replaced by one commodity-less zero amount
- the special "missing" mixed amount remains unchanged

amountsPreservingZeros :: MixedAmount -> [Amount] #

Get a mixed amount's component amounts, with some cleanups. This is a new version of `amounts`, with updated descriptions and optimised for `print` to show commodityful zeros.

- If it contains the "missing amount" marker, only that is returned (discarding any additional amounts).
- Or if it contains any non-zero amounts, only those are returned (discarding any zeroes).
- Or if it contains any zero amounts (possibly more than one, possibly in different commodities), all of those are returned.
- Otherwise the null amount is returned.

amountsRaw :: MixedAmount -> [Amount] #

Get a mixed amount's component amounts without normalising zero and missing amounts. This is used for JSON serialisation, so the order is important. In particular, we want the Amounts given in the order of the MixedAmountKeys, i.e. lexicographically first by commodity, then by price commodity, then by unit price from most negative to most positive.

maCommodities :: MixedAmount -> Set CommoditySymbol #

Get this mixed amount's commodities as a set. Returns an empty set if there are no amounts.

unifyMixedAmount :: MixedAmount -> Maybe Amount #

Unify a MixedAmount to a single commodity value if possible. This consolidates amounts of the same commodity and discards zero amounts; but this one insists on simplifying to a single commodity, and will return Nothing if this is not possible.

filterMixedAmount :: (Amount -> Bool) -> MixedAmount -> MixedAmount #

Filter a mixed amount's component amounts by a predicate.

filterMixedAmountByCommodity :: CommoditySymbol -> MixedAmount -> MixedAmount #

Return an unnormalised MixedAmount containing exactly one Amount with the specified commodity and the quantity of that commodity found in the original. NB if Amount's quantity is zero it will be discarded next time the MixedAmount gets normalised.

mapMixedAmount :: (Amount -> Amount) -> MixedAmount -> MixedAmount #

Apply a transform to a mixed amount's component `Amount`s.

mixedAmountCost :: MixedAmount -> MixedAmount #

Convert all component amounts to cost/selling price where possible (see amountCost).

canonicaliseMixedAmount :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount #

Canonicalise a mixed amount's display styles using the provided commodity style map. Cost amounts, if any, are not affected.

styleMixedAmount :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount #

Given a map of standard commodity display styles, find and apply the appropriate style to each individual amount.

mixedAmountSetStyles :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount #

mixedAmountSetStylesExceptPrecision :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount #

mixedAmountUnstyled :: MixedAmount -> MixedAmount #

Reset each individual amount's display style to the default.

showMixedAmount :: MixedAmount -> String #

Get the string representation of a mixed amount, after normalising it to one amount per commodity. Assumes amounts have no or similar prices, otherwise this can show misleading prices.

    showMixedAmount = wbUnpack . showMixedAmountB noColour

showMixedAmountOneLine :: MixedAmount -> String #

Get the one-line string representation of a mixed amount (also showing any costs).

    showMixedAmountOneLine = wbUnpack . showMixedAmountB oneLine

showMixedAmountWithZeroCommodity :: MixedAmount -> String #

Like showMixedAmount, but zero amounts are shown with their commodity if they have one.

    showMixedAmountWithZeroCommodity = wbUnpack . showMixedAmountB noColour{displayZeroCommodity=True}

showMixedAmountWithoutPrice :: Bool -> MixedAmount -> String #

Get the string representation of a mixed amount, without showing any transaction prices. With a True argument, adds ANSI codes to show negative amounts in red.

    showMixedAmountWithoutPrice c = wbUnpack . showMixedAmountB noPrice{displayColour=c}

showMixedAmountOneLineWithoutPrice :: Bool -> MixedAmount -> String #

Get the one-line string representation of a mixed amount, but without any @ prices. With a True argument, adds ANSI codes to show negative amounts in red.

    showMixedAmountOneLineWithoutPrice c = wbUnpack . showMixedAmountB oneLine{displayColour=c}

showMixedAmountElided :: Int -> Bool -> MixedAmount -> String #

Like showMixedAmountOneLineWithoutPrice, but show at most the given width, with an elision indicator if there are more. With a True argument, adds ANSI codes to show negative amounts in red.

    showMixedAmountElided w c = wbUnpack . showMixedAmountB oneLine{displayColour=c, displayMaxWidth=Just w}

showMixedAmountDebug :: MixedAmount -> String #

Get an unambiguous string representation of a mixed amount for debugging.

showMixedAmountB :: AmountDisplayOpts -> MixedAmount -> WideBuilder #

General function to generate a WideBuilder for a MixedAmount, according to the supplied AmountDisplayOpts. This is the main function to use for showing MixedAmounts, constructing a builder; it can then be converted to a Text with wbToText, or to a String with wbUnpack.

If a maximum width is given then: - If displayed on one line, it will display as many Amounts as can fit in the given width, and further Amounts will be elided. There will always be at least one amount displayed, even if this will exceed the requested maximum width. - If displayed on multiple lines, any Amounts longer than the maximum width will be elided.

showMixedAmountLinesB :: AmountDisplayOpts -> MixedAmount -> [WideBuilder] #

Helper for showMixedAmountB (and postingAsLines, ...) to show a list of Amounts on multiple lines. This returns the list of WideBuilders: one for each Amount, and padded/elided to the appropriate width. This does not honour displayOneLine; all amounts will be displayed as if displayOneLine were False.

mixedAmountSetPrecision :: AmountPrecision -> MixedAmount -> MixedAmount #

Set the display precision in the amount's commodities.

mixedAmountSetFullPrecision :: MixedAmount -> MixedAmount #

In each component amount, increase the display precision sufficiently to render it exactly (showing all significant decimal digits).

mixedAmountStripPrices :: MixedAmount -> MixedAmount #

Remove all prices from a MixedAmount.

tests_Amount :: TestTree #

journalPriceOracle :: Bool -> Journal -> PriceOracle #

Generate a price oracle (memoising price lookup function) from a journal's directive-declared and transaction-inferred market prices. For best performance, generate this only once per journal, reusing it across reports if there are more than one, as compoundBalanceCommand does. The boolean argument is whether to infer market prices from transactions or not.

priceDirectiveToMarketPrice :: PriceDirective -> MarketPrice #

amountPriceDirectiveFromCost :: Day -> Amount -> Maybe PriceDirective #

Make one or more `MarketPrice` from an `Amount` and its price directives.

mixedAmountToCost :: Map CommoditySymbol AmountStyle -> ConversionOp -> MixedAmount -> MixedAmount #

Convert all component amounts to cost/selling price if requested, and style them.

mixedAmountApplyValuation :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> Day -> ValuationType -> MixedAmount -> MixedAmount #

Apply a specified valuation to this mixed amount, using the provided price oracle, commodity styles, and reference dates. See amountApplyValuation.

mixedAmountValueAtDate :: PriceOracle -> Map CommoditySymbol AmountStyle -> Maybe CommoditySymbol -> Day -> MixedAmount -> MixedAmount #

Find the market value of each component amount in the given commodity, or its default valuation commodity, at the given valuation date, using the given market price oracle. When market prices available on that date are not sufficient to calculate the value, amounts are left unchanged.

mixedAmountApplyGain :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> Day -> ValuationType -> MixedAmount -> MixedAmount #

Calculate the gain of each component amount, that is the difference between the valued amount and the value of the cost basis (see mixedAmountApplyValuation).

If the commodity we are valuing in is not the same as the commodity of the cost, this will value the cost at the same date as the primary amount. This may not be what you want; for example you may want the cost valued at the posting date. If so, let us know and we can change this behaviour.

mixedAmountGainAtDate :: PriceOracle -> Map CommoditySymbol AmountStyle -> Maybe CommoditySymbol -> Day -> MixedAmount -> MixedAmount #

Calculate the gain of each component amount, that is the difference between the valued amount and the value of the cost basis.

If the commodity we are valuing in is not the same as the commodity of the cost, this will value the cost at the same date as the primary amount. This may not be what you want; for example you may want the cost valued at the posting date. If so, let us know and we can change this behaviour.

marketPriceReverse :: MarketPrice -> MarketPrice #

tests_Valuation :: TestTree #

nullposting :: Posting #

posting :: Posting #

post :: AccountName -> Amount -> Posting #

Make a posting to an account.

vpost :: AccountName -> Amount -> Posting #

Make a virtual (unbalanced) posting to an account.

post' :: AccountName -> Amount -> Maybe BalanceAssertion -> Posting #

Make a posting to an account, maybe with a balance assertion.

vpost' :: AccountName -> Amount -> Maybe BalanceAssertion -> Posting #

Make a virtual (unbalanced) posting to an account, maybe with a balance assertion.

nullsourcepos :: (SourcePos, SourcePos) #

nullassertion :: BalanceAssertion #

balassert :: Amount -> Maybe BalanceAssertion #

Make a partial, exclusive balance assertion.

balassertTot :: Amount -> Maybe BalanceAssertion #

Make a total, exclusive balance assertion.

balassertParInc :: Amount -> Maybe BalanceAssertion #

Make a partial, inclusive balance assertion.

balassertTotInc :: Amount -> Maybe BalanceAssertion #

Make a total, inclusive balance assertion.

showBalanceAssertion :: BalanceAssertion -> WideBuilder #

Render a balance assertion, as the =[=][*] symbol and expected amount.

originalPosting :: Posting -> Posting #

showPosting :: Posting -> String #

showPostingLines :: Posting -> [Text] #

Render a posting, at the appropriate width for aligning with its siblings if any. Used by the rewrite command.

postingsAsLines :: Bool -> [Posting] -> [Text] #

Given a transaction and its postings, render the postings, suitable for `print` output. Normally this output will be valid journal syntax which hledger can reparse (though it may include no-longer-valid balance assertions).

Explicit amounts are shown, any implicit amounts are not.

Postings with multicommodity explicit amounts are handled as follows: if onelineamounts is true, these amounts are shown on one line, comma-separated, and the output will not be valid journal syntax. Otherwise, they are shown as several similar postings, one per commodity. When the posting has a balance assertion, it is attached to the last of these postings.

The output will appear to be a balanced transaction. Amounts' display precisions, which may have been limited by commodity directives, will be increased if necessary to ensure this.

Posting amounts will be aligned with each other, starting about 4 columns beyond the widest account name (see postingAsLines for details).

postingAsLines :: Bool -> Bool -> Int -> Int -> Posting -> ([Text], Int, Int) #

Render one posting, on one or more lines, suitable for `print` output. There will be an indented account name, plus one or more of status flag, posting amount, balance assertion, same-line comment, next-line comments.

If the posting's amount is implicit or if elideamount is true, no amount is shown.

If the posting's amount is explicit and multi-commodity, multiple similar postings are shown, one for each commodity, to help produce parseable journal syntax. Or if onelineamounts is true, such amounts are shown on one line, comma-separated (and the output will not be valid journal syntax).

If an amount is zero, any commodity symbol attached to it is shown (and the corresponding commodity display style is used).

By default, 4 spaces (2 if there's a status flag) are shown between account name and start of amount area, which is typically 12 chars wide and contains a right-aligned amount (so 10-12 visible spaces between account name and amount is typical). When given a list of postings to be aligned with, the whitespace will be increased if needed to match the posting with the longest account name. This is used to align the amounts of a transaction's postings.

Also returns the account width and amount width used.

showAccountName :: Maybe Int -> PostingType -> AccountName -> Text #

Show an account name, clipped to the given width if any, and appropriately bracketed/parenthesised for the given posting type.

renderCommentLines :: Text -> [Text] #

Render a transaction or posting's comment as indented, semicolon-prefixed comment lines. The first line (unless empty) will have leading space, subsequent lines will have a larger indent.

isReal :: Posting -> Bool #

isVirtual :: Posting -> Bool #

isBalancedVirtual :: Posting -> Bool #

hasAmount :: Posting -> Bool #

hasBalanceAssignment :: Posting -> Bool #

accountNamesFromPostings :: [Posting] -> [AccountName] #

Sorted unique account names referenced by these postings.

sumPostings :: [Posting] -> MixedAmount #

Sum all amounts from a list of postings.

postingStripPrices :: Posting -> Posting #

Strip all prices from a Posting.

postingDate :: Posting -> Day #

Get a posting's (primary) date - it's own primary date if specified, otherwise the parent transaction's primary date, or the null date if there is no parent transaction.

postingDate2 :: Posting -> Day #

Get a posting's secondary (secondary) date, which is the first of: posting's secondary date, transaction's secondary date, posting's primary date, transaction's primary date, or the null date if there is no parent transaction.

postingDateOrDate2 :: WhichDate -> Posting -> Day #

Get a posting's primary or secondary date, as specified.

postingStatus :: Posting -> Status #

Get a posting's status. This is cleared or pending if those are explicitly set on the posting, otherwise the status of its parent transaction, or unmarked if there is no parent transaction. (Note the ambiguity, unmarked can mean "posting and transaction are both unmarked" or "posting is unmarked and don't know about the transaction".

postingAllTags :: Posting -> [Tag] #

Tags for this posting including any inherited from its parent transaction.

transactionAllTags :: Transaction -> [Tag] #

Tags for this transaction including any from its postings.

relatedPostings :: Posting -> [Posting] #

isPostingInDateSpan :: DateSpan -> Posting -> Bool #

Does this posting fall within the given date span ?

isPostingInDateSpan' :: WhichDate -> DateSpan -> Posting -> Bool #

isEmptyPosting :: Posting -> Bool #

postingApplyAliases :: [AccountAlias] -> Posting -> Either RegexError Posting #

Apply some account aliases to the posting's account name, as described by accountNameApplyAliases. This can fail due to a bad replacement pattern in a regular expression alias.

postingApplyCommodityStyles :: Map CommoditySymbol AmountStyle -> Posting -> Posting #

Find and apply the appropriate display style to the posting amounts in each commodity (see journalCommodityStyles). Main amount precisions may be set or not according to the styles, but cost precisions are not set.

postingApplyCommodityStylesExceptPrecision :: Map CommoditySymbol AmountStyle -> Posting -> Posting #

Like postingApplyCommodityStyles, but neither main amount precisions or cost precisions are set.

postingAddTags :: Posting -> [Tag] -> Posting #

Add tags to a posting, discarding any for which the posting already has a value.

postingApplyValuation :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> ValuationType -> Posting -> Posting #

Apply a specified valuation to this posting's amount, using the provided price oracle, commodity styles, and reference dates. See amountApplyValuation.

postingToCost :: ConversionOp -> Posting -> Maybe Posting #

Maybe convert this `Posting`s amount to cost.

postingAddInferredEquityPostings :: Bool -> Text -> Posting -> [Posting] #

Generate inferred equity postings from a `Posting` using transaction prices. Make sure not to generate equity postings when there are already matched conversion postings.

postingPriceDirectivesFromCost :: Posting -> [PriceDirective] #

Make a market price equivalent to this posting's amount's unit price, if any.

postingTransformAmount :: (MixedAmount -> MixedAmount) -> Posting -> Posting #

Apply a transform function to this posting's amount.

commentJoin :: Text -> Text -> Text #

Join two parts of a comment, eg a tag and another tag, or a tag and a non-tag, on a single line. Interpolates a comma and space unless one of the parts is empty.

commentAddTag :: Text -> Tag -> Text #

Add a tag to a comment, comma-separated from any prior content. A space is inserted following the colon, before the value.

commentAddTagNextLine :: Text -> Tag -> Text #

Add a tag on its own line to a comment, preserving any prior content. A space is inserted following the colon, before the value.

tests_Posting :: TestTree #

nulltransaction :: Transaction #

transaction :: Day -> [Posting] -> Transaction #

Make a simple transaction with the given date and postings.

transactionPayee :: Transaction -> Text #

transactionNote :: Transaction -> Text #

showTransaction :: Transaction -> Text #

Render a journal transaction as text similar to the style of Ledger's print command.

Adapted from Ledger 2.x and 3.x standard format:

    yyyy-mm-dd[ *][ CODE] description.........          [  ; comment...............]
        account name 1.....................  ...$amount1[  ; comment...............]
        account name 2.....................  ..$-amount1[  ; comment...............]

    pcodewidth    = no limit -- 10          -- mimicking ledger layout.
    pdescwidth    = no limit -- 20          -- I don't remember what these mean,
    pacctwidth    = 35 minimum, no maximum  -- they were important at the time.
    pamtwidth     = 11
    pcommentwidth = no limit -- 22

The output will be parseable journal syntax. To facilitate this, postings with explicit multi-commodity amounts are displayed as multiple similar postings, one per commodity. (Normally does not happen with this function).

showTransactionOneLineAmounts :: Transaction -> Text #

Like showTransaction, but explicit multi-commodity amounts are shown on one line, comma-separated. In this case the output will not be parseable journal syntax.

showTransactionLineFirstPart :: Transaction -> Text #

hasRealPostings :: Transaction -> Bool #

realPostings :: Transaction -> [Posting] #

assignmentPostings :: Transaction -> [Posting] #

virtualPostings :: Transaction -> [Posting] #

balancedVirtualPostings :: Transaction -> [Posting] #

transactionsPostings :: [Transaction] -> [Posting] #

transactionDate2 :: Transaction -> Day #

transactionDateOrDate2 :: WhichDate -> Transaction -> Day #

txnTieKnot :: Transaction -> Transaction #

Ensure a transaction's postings refer back to it, so that eg relatedPostings works right.

txnUntieKnot :: Transaction -> Transaction #

Ensure a transaction's postings do not refer back to it, so that eg recursiveSize and GHCI's :sprint work right.

transactionTransformPostings :: (Posting -> Posting) -> Transaction -> Transaction #

Apply a transform function to this transaction's amounts.

transactionApplyValuation :: PriceOracle -> Map CommoditySymbol AmountStyle -> Day -> Day -> ValuationType -> Transaction -> Transaction #

Apply a specified valuation to this transaction's amounts, using the provided price oracle, commodity styles, and reference dates. See amountApplyValuation.

transactionToCost :: ConversionOp -> Transaction -> Transaction #

Maybe convert this `Transaction`s amounts to cost.

transactionAddInferredEquityPostings :: Bool -> AccountName -> Transaction -> Transaction #

Add inferred equity postings to a `Transaction` using transaction prices.

transactionInferCostsFromEquity :: Bool -> Map AccountName AccountType -> Transaction -> Either String Transaction #

Add costs inferred from equity postings in this transaction. For every adjacent pair of conversion postings, it will first search the postings with costs to see if any match. If so, it will tag these as matched. If no postings with costs match, it will then search the postings without costs, and will match the first such posting which matches one of the conversion amounts. If it finds a match, it will add a cost and then tag it. If the first argument is true, do a dry run instead: identify and tag the costful and conversion postings, but don't add costs.

partitionAndCheckConversionPostings :: Bool -> Map AccountName AccountType -> [IdxPosting] -> Either Text ([(IdxPosting, IdxPosting)], ([IdxPosting], [IdxPosting])) #

transactionApplyAliases :: [AccountAlias] -> Transaction -> Either RegexError Transaction #

Apply some account aliases to all posting account names in the transaction, as described by accountNameApplyAliases. This can fail due to a bad replacement pattern in a regular expression alias.

transactionMapPostings :: (Posting -> Posting) -> Transaction -> Transaction #

Apply a transformation to a transaction's postings.

transactionMapPostingAmounts :: (MixedAmount -> MixedAmount) -> Transaction -> Transaction #

Apply a transformation to a transaction's posting amounts.

transactionFile :: Transaction -> FilePath #

The file path from which this transaction was parsed.

annotateErrorWithTransaction :: Transaction -> String -> String #

tests_Transaction :: TestTree #

payeeTag :: Maybe Text -> Either RegexError Query #

Construct a payee tag

noteTag :: Maybe Text -> Either RegexError Query #

Construct a note tag

generatedTransactionTag :: Query #

Construct a generated-transaction tag

parseQuery :: Day -> Text -> Either String (Query, [QueryOpt]) #

A version of parseQueryList which acts on a single Text of space-separated terms.

The usual shell quoting rules are assumed. When a pattern contains whitespace, it (or the whole term including prefix) should be enclosed in single or double quotes.

A query term is either:

1. a search pattern, which matches on one or more fields, eg:

   acct:REGEXP - match the account name with a regular expression desc:REGEXP - match the transaction description date:PERIODEXP - match the date with a period expression

The prefix indicates the field to match, or if there is no prefix account name is assumed.

1. a query option, which modifies the reporting behaviour in some way. There is currently one of these, which may appear only once:

   inacct:FULLACCTNAME

Period expressions may contain relative dates, so a reference date is required to fully parse these.

    >>> parseQuery nulldate "expenses:dining out"
    Right (Or [Acct (RegexpCI "expenses:dining"),Acct (RegexpCI "out")],[])

    >>> parseQuery nulldate "\"expenses:dining out\""
    Right (Acct (RegexpCI "expenses:dining out"),[])

parseQueryList :: Day -> [Text] -> Either String (Query, [QueryOpt]) #

Convert a list of space-separated queries to a single query

Multiple terms are combined as follows: 1. multiple account patterns are OR'd together 2. multiple description patterns are OR'd together 3. multiple status patterns are OR'd together 4. then all terms are AND'd together

words'' :: [Text] -> Text -> [Text] #

Quote-and-prefix-aware version of words - don't split on spaces which are inside quotes, including quotes which may have one of the specified prefixes in front, and maybe an additional not: prefix in front of that.

queryprefixes :: [Text] #

parseQueryTerm :: Day -> Text -> Either String (Query, [QueryOpt]) #

Parse a single query term as either a query or a query option, or return an error message if parsing fails.

parseAccountType :: Bool -> Text -> Either String AccountType #

Case-insensitively parse one single-letter code, or one long-form word if permitted, to an account type. On failure, returns the unparseable text.

simplifyQuery :: Query -> Query #

filterQuery :: (Query -> Bool) -> Query -> Query #

Remove query terms (or whole sub-expressions) from this query which do not match the given predicate. XXX Semantics not completely clear. Also calls simplifyQuery on the result.

filterQueryOrNotQuery :: (Query -> Bool) -> Query -> Query #

Remove query terms (or whole sub-expressions) from this query which match neither the given predicate nor that predicate negated (eg, if predicate is queryIsAcct, this will keep both "acct:" and "not:acct:" terms). Also calls simplifyQuery on the result. (Since 1.24.1, might be merged into filterQuery in future.) XXX Semantics not completely clear.

matchesQuery :: (Query -> Bool) -> Query -> Bool #

Does this simple query predicate match any part of this possibly compound query ?

queryIsNull :: Query -> Bool #

Does this query match everything ?

queryIsDate :: Query -> Bool #

Is this a simple query of this type (date:) ? Does not match a compound query involving andornot. Likewise for the following functions.

queryIsDate2 :: Query -> Bool #

queryIsDateOrDate2 :: Query -> Bool #

queryIsStatus :: Query -> Bool #

queryIsCode :: Query -> Bool #

queryIsDesc :: Query -> Bool #

queryIsTag :: Query -> Bool #

queryIsAcct :: Query -> Bool #

queryIsType :: Query -> Bool #

queryIsDepth :: Query -> Bool #

queryIsReal :: Query -> Bool #

queryIsAmt :: Query -> Bool #

queryIsSym :: Query -> Bool #

queryIsStartDateOnly :: Bool -> Query -> Bool #

Does this query specify a start date and nothing else (that would filter postings prior to the date) ? When the flag is true, look for a starting secondary date instead.

queryIsTransactionRelated :: Query -> Bool #

Does this query involve a property of transactions (or their postings), making it inapplicable to account declarations ?

queryStartDate :: Bool -> Query -> Maybe Day #

What start date (or secondary date) does this query specify, if any ? For OR expressions, use the earliest of the dates. NOT is ignored.

queryEndDate :: Bool -> Query -> Maybe Day #

What end date (or secondary date) does this query specify, if any ? For OR expressions, use the latest of the dates. NOT is ignored.

queryDateSpan :: Bool -> Query -> DateSpan #

What date span (or with a true argument, what secondary date span) does this query specify ? OR clauses specifying multiple spans return their union (the span enclosing all of them). AND clauses specifying multiple spans return their intersection. NOT clauses are ignored.

queryDateSpan' :: Query -> DateSpan #

What date span does this query specify, treating primary and secondary dates as equivalent ? OR clauses specifying multiple spans return their union (the span enclosing all of them). AND clauses specifying multiple spans return their intersection. NOT clauses are ignored.

queryDepth :: Query -> Maybe Int #

The depth limit this query specifies, if it has one

inAccount :: [QueryOpt] -> Maybe (AccountName, Bool) #

The account we are currently focussed on, if any, and whether subaccounts are included. Just looks at the first query option.

inAccountQuery :: [QueryOpt] -> Maybe Query #

A query for the account(s) we are currently focussed on, if any. Just looks at the first query option.

matchesCommodity :: Query -> CommoditySymbol -> Bool #

matchesAmount :: Query -> Amount -> Bool #

Does the match expression match this (simple) amount ?

matchesMixedAmount :: Query -> MixedAmount -> Bool #

matchesAccount :: Query -> AccountName -> Bool #

Does the query match this account name ? A matching in: clause is also considered a match.

matchesAccountExtra :: (AccountName -> Maybe AccountType) -> (AccountName -> [Tag]) -> Query -> AccountName -> Bool #

Like matchesAccount, but with optional extra matching features:

- If the account's type is provided, any type: terms in the query must match it (and any negated type: terms must not match it).
- If the account's tags are provided, any tag: terms must match at least one of them (and any negated tag: terms must match none).

matchesPosting :: Query -> Posting -> Bool #

Does the match expression match this posting ? When matching account name, and the posting has been transformed in some way, we will match either the original or transformed name.

matchesPostingExtra :: (AccountName -> Maybe AccountType) -> Query -> Posting -> Bool #

Like matchesPosting, but if the posting's account's type is provided, any type: terms in the query must match it (and any negated type: terms must not match it).

matchesTransaction :: Query -> Transaction -> Bool #

Does the match expression match this transaction ?

matchesTransactionExtra :: (AccountName -> Maybe AccountType) -> Query -> Transaction -> Bool #

Like matchesTransaction, but if the journal's account types are provided, any type: terms in the query must match at least one posting's account type (and any negated type: terms must match none).

matchesDescription :: Query -> Text -> Bool #

Does the query match this transaction description ? Tests desc: terms, any other terms are ignored.

matchesPayeeWIP :: Query -> Payee -> Bool #

Does the query match this transaction payee ? Tests desc: (and payee: ?) terms, any other terms are ignored. XXX Currently an alias for matchDescription. I'm not sure if more is needed, There's some shenanigan with payee: and "payeeTag" to figure out.

matchesTags :: Regexp -> Maybe Regexp -> [Tag] -> Bool #

Does the query match the name and optionally the value of any of these tags ?

matchesPriceDirective :: Query -> PriceDirective -> Bool #

Does the query match this market price ?

tests_Query :: TestTree #

modifyTransactions :: (AccountName -> Maybe AccountType) -> (AccountName -> [Tag]) -> Map CommoditySymbol AmountStyle -> Day -> Bool -> [TransactionModifier] -> [Transaction] -> Either String [Transaction] #

Apply all the given transaction modifiers, in turn, to each transaction. Or if any of them fails to be parsed, return the first error. A reference date is provided to help interpret relative dates in transaction modifier queries.

timeclockEntriesToTransactions :: LocalTime -> [TimeclockEntry] -> [Transaction] #

Convert time log entries to journal transactions. When there is no clockout, add one with the provided current time. Sessions crossing midnight are split into days to give accurate per-day totals.

tests_Timeclock :: TestTree #

makeAccountTagErrorExcerpt :: (AccountName, AccountDeclarationInfo) -> TagName -> (FilePath, Int, Maybe (Int, Maybe Int), Text) #

Given an account name and its account directive, and a problem tag within the latter: render it as a megaparsec-style excerpt, showing the original line number and marked column or region. Returns the file path, line number, column(s) if known, and the rendered excerpt, or as much of these as is possible. The returned columns will be accurate for the rendered error message but not for the original journal data.

makeTransactionErrorExcerpt :: Transaction -> (Transaction -> Maybe (Int, Maybe Int)) -> (FilePath, Int, Maybe (Int, Maybe Int), Text) #

Given a problem transaction and a function calculating the best column(s) for marking the error region: render it as a megaparsec-style excerpt, showing the original line number on the transaction line, and a column(s) marker. Returns the file path, line number, column(s) if known, and the rendered excerpt, or as much of these as is possible. The returned columns will be accurate for the rendered error message but not for the original journal data.

makePostingErrorExcerpt :: Posting -> (Posting -> Transaction -> Text -> Maybe (Int, Maybe Int)) -> (FilePath, Int, Maybe (Int, Maybe Int), Text) #

Given a problem posting and a function calculating the best column(s) for marking the error region: look up error info from the parent transaction, and render the transaction as a megaparsec-style excerpt, showing the original line number on the problem posting's line, and a column indicator. Returns the file path, line number, column(s) if known, and the rendered excerpt, or as much of these as is possible. A limitation: columns will be accurate for the rendered error message but not for the original journal data.

transactionFindPostingIndex :: (Posting -> Bool) -> Transaction -> Maybe Int #

Find the 1-based index of the first posting in this transaction satisfying the given predicate.

makePostingAccountErrorExcerpt :: Posting -> (FilePath, Int, Maybe (Int, Maybe Int), Text) #

From the given posting, make an error excerpt showing the transaction with this posting's account part highlighted.

makeBalanceAssertionErrorExcerpt :: Posting -> (FilePath, Int, Maybe (Int, Maybe Int), Text) #

From the given posting, make an error excerpt showing the transaction with the balance assertion highlighted.

journalCheckOrdereddates :: WhichDate -> Journal -> Either String () #

runPeriodicTransaction :: Bool -> PeriodicTransaction -> DateSpan -> [Transaction] #

Generate transactions from `PeriodicTransaction` within a `DateSpan`. This should be a closed span with both start and end dates specified; an open ended span will generate no transactions.

Note that new transactions require `txnTieKnot` post-processing. The new transactions will have three tags added: - a recur:PERIODICEXPR tag whose value is the generating periodic expression - a generated-transaction: tag - a hidden _generated-transaction: tag which does not appear in the comment.

    >>> import Data.Time (fromGregorian)
    >>> _ptgen "monthly from 2017/1 to 2017/4"
    2017-01-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/4
        a           $1.00

    2017-02-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/4
        a           $1.00

    2017-03-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/4
        a           $1.00

    >>> _ptgen "monthly from 2017/1 to 2017/5"
    2017-01-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/5
        a           $1.00

    2017-02-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/5
        a           $1.00

    2017-03-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/5
        a           $1.00

    2017-04-01
        ; generated-transaction: ~ monthly from 2017/1 to 2017/5
        a           $1.00

    >>> _ptgen "every 2nd day of month from 2017/02 to 2017/04"
    2017-01-02
        ; generated-transaction: ~ every 2nd day of month from 2017/02 to 2017/04
        a           $1.00

    2017-02-02
        ; generated-transaction: ~ every 2nd day of month from 2017/02 to 2017/04
        a           $1.00

    2017-03-02
        ; generated-transaction: ~ every 2nd day of month from 2017/02 to 2017/04
        a           $1.00

    >>> _ptgen "every 30th day of month from 2017/1 to 2017/5"
    2016-12-30
        ; generated-transaction: ~ every 30th day of month from 2017/1 to 2017/5
        a           $1.00

    2017-01-30
        ; generated-transaction: ~ every 30th day of month from 2017/1 to 2017/5
        a           $1.00

    2017-02-28
        ; generated-transaction: ~ every 30th day of month from 2017/1 to 2017/5
        a           $1.00

    2017-03-30
        ; generated-transaction: ~ every 30th day of month from 2017/1 to 2017/5
        a           $1.00

    2017-04-30
        ; generated-transaction: ~ every 30th day of month from 2017/1 to 2017/5
        a           $1.00

    >>> _ptgen "every 2nd Thursday of month from 2017/1 to 2017/4"
    2016-12-08
        ; generated-transaction: ~ every 2nd Thursday of month from 2017/1 to 2017/4
        a           $1.00

    2017-01-12
        ; generated-transaction: ~ every 2nd Thursday of month from 2017/1 to 2017/4
        a           $1.00

    2017-02-09
        ; generated-transaction: ~ every 2nd Thursday of month from 2017/1 to 2017/4
        a           $1.00

    2017-03-09
        ; generated-transaction: ~ every 2nd Thursday of month from 2017/1 to 2017/4
        a           $1.00

    >>> _ptgen "every nov 29th from 2017 to 2019"
    2016-11-29
        ; generated-transaction: ~ every nov 29th from 2017 to 2019
        a           $1.00

    2017-11-29
        ; generated-transaction: ~ every nov 29th from 2017 to 2019
        a           $1.00

    2018-11-29
        ; generated-transaction: ~ every nov 29th from 2017 to 2019
        a           $1.00

    >>> _ptgen "2017/1"
    2017-01-01
        ; generated-transaction: ~ 2017/1
        a           $1.00

    >>> let reportperiod="daily from 2018/01/03" in let (i,s) = parsePeriodExpr' nulldate reportperiod in runPeriodicTransaction True (nullperiodictransaction{ptperiodexpr=reportperiod, ptspan=s, ptinterval=i, ptpostings=["a" `post` usd 1]}) (DateSpan (Just $ Flex $ fromGregorian 2018 01 01) (Just $ Flex $ fromGregorian 2018 01 03))
    []

    >>> _ptgenspan "every 3 months from 2019-05" (DateSpan (Just $ Flex $ fromGregorian 2020 01 01) (Just $ Flex $ fromGregorian 2020 02 01))

    >>> _ptgenspan "every 3 months from 2019-05" (DateSpan (Just $ Flex $ fromGregorian 2020 02 01) (Just $ Flex $ fromGregorian 2020 03 01))
    2020-02-01
        ; generated-transaction: ~ every 3 months from 2019-05
        a           $1.00

    >>> _ptgenspan "every 3 days from 2018" (DateSpan (Just $ Flex $ fromGregorian 2018 01 01) (Just $ Flex $ fromGregorian 2018 01 05))
    2018-01-01
        ; generated-transaction: ~ every 3 days from 2018
        a           $1.00

    2018-01-04
        ; generated-transaction: ~ every 3 days from 2018
        a           $1.00

    >>> _ptgenspan "every 3 days from 2018" (DateSpan (Just $ Flex $ fromGregorian 2018 01 02) (Just $ Flex $ fromGregorian 2018 01 05))
    2018-01-04
        ; generated-transaction: ~ every 3 days from 2018
        a           $1.00

checkPeriodicTransactionStartDate :: Interval -> DateSpan -> Text -> Maybe String #

Check that this date span begins at a boundary of this interval, or return an explanatory error message including the provided period expression (from which the span and interval are derived).

toJsonText :: ToJSON a => a -> Text #

Show a JSON-convertible haskell value as pretty-printed JSON text.

writeJsonFile :: ToJSON a => FilePath -> a -> IO () #

Write a JSON-convertible haskell value to a pretty-printed JSON file. Eg: writeJsonFile "a.json" nulltransaction

readJsonFile :: FromJSON a => FilePath -> IO a #

Read a JSON file and decode it to the target type, or raise an error if we can't. Eg: readJsonFile "a.json" :: IO Transaction

journalConcat :: Journal -> Journal -> Journal #

Merge two journals into one. Transaction counts are summed, map fields are combined, the second's list fields are appended to the first's, the second's parse state is kept.

journalRenumberAccountDeclarations :: Journal -> Journal #

Renumber all the account declarations. This is useful to call when finalising or concatenating Journals, to give account declarations a total order across files.

dbgJournalAcctDeclOrder :: String -> Journal -> Journal #

Debug log the ordering of a journal's account declarations (at debug level 5+).

nulljournal :: Journal #

journalFilePath :: Journal -> FilePath #

journalFilePaths :: Journal -> [FilePath] #

addTransaction :: Transaction -> Journal -> Journal #

addTransactionModifier :: TransactionModifier -> Journal -> Journal #

addPeriodicTransaction :: PeriodicTransaction -> Journal -> Journal #

addPriceDirective :: PriceDirective -> Journal -> Journal #

journalTransactionAt :: Journal -> Integer -> Maybe Transaction #

Get the transaction with this index (its 1-based position in the input stream), if any.

journalNextTransaction :: Journal -> Transaction -> Maybe Transaction #

Get the transaction that appeared immediately after this one in the input stream, if any.

journalPrevTransaction :: Journal -> Transaction -> Maybe Transaction #

Get the transaction that appeared immediately before this one in the input stream, if any.

journalPostings :: Journal -> [Posting] #

All postings from this journal's transactions, in order.

journalCommoditiesDeclared :: Journal -> [CommoditySymbol] #

Sorted unique commodity symbols declared by commodity directives in this journal.

journalCommodities :: Journal -> Set CommoditySymbol #

Sorted unique commodity symbols declared or inferred from this journal.

journalDescriptions :: Journal -> [Text] #

Unique transaction descriptions used in this journal.

journalPayeesDeclared :: Journal -> [Payee] #

Sorted unique payees declared by payee directives in this journal.

journalPayeesUsed :: Journal -> [Payee] #

Sorted unique payees used by transactions in this journal.

journalPayeesDeclaredOrUsed :: Journal -> [Payee] #

Sorted unique payees used in transactions or declared by payee directives in this journal.

journalTagsDeclared :: Journal -> [TagName] #

Sorted unique tag names declared by tag directives in this journal.

journalTagsUsed :: Journal -> [TagName] #

Sorted unique tag names used in this journal (in account directives, transactions, postings..)

journalTagsDeclaredOrUsed :: Journal -> [TagName] #

Sorted unique tag names used in transactions or declared by tag directives in this journal.

journalAccountNamesUsed :: Journal -> [AccountName] #

Sorted unique account names posted to by this journal's transactions.

journalAccountNamesImplied :: Journal -> [AccountName] #

Sorted unique account names implied by this journal's transactions - accounts posted to and all their implied parent accounts.

journalAccountNamesDeclared :: Journal -> [AccountName] #

Sorted unique account names declared by account directives in this journal.

journalLeafAccountNamesDeclared :: Journal -> [AccountName] #

Sorted unique account names declared by account directives in this journal, which have no children.

journalAccountNamesDeclaredOrUsed :: Journal -> [AccountName] #

Sorted unique account names declared by account directives or posted to by transactions in this journal.

journalAccountNamesDeclaredOrImplied :: Journal -> [AccountName] #

Sorted unique account names declared by account directives, or posted to or implied as parents by transactions in this journal.

journalAccountNames :: Journal -> [AccountName] #

Convenience/compatibility alias for journalAccountNamesDeclaredOrImplied.

journalLeafAccountNames :: Journal -> [AccountName] #

Sorted unique account names declared or implied in this journal which have no children.

journalAccountNameTree :: Journal -> Tree AccountName #

journalAccountTags :: Journal -> AccountName -> [Tag] #

Which tags have been declared explicitly for this account, if any ?

journalInheritedAccountTags :: Journal -> AccountName -> [Tag] #

Which tags are in effect for this account, including tags inherited from parent accounts ?

journalTransactionsSimilarTo :: Journal -> Text -> Query -> SimilarityScore -> Int -> [(DateWeightedSimilarityScore, Age, SimilarityScore, Transaction)] #

Find up to N most similar and most recent transactions matching the given transaction description and query and exceeding the given description similarity score (0 to 1, see compareDescriptions). Returns transactions along with their age in days compared to the latest transaction date, their description similarity score, and a heuristically date-weighted variant of this that favours more recent transactions.

journalConversionAccount :: Journal -> AccountName #

The `AccountName` to use for automatically generated conversion postings.

journalAccountType :: Journal -> AccountName -> Maybe AccountType #

journalAddAccountTypes :: Journal -> Journal #

Add a map of all known account types to the journal.

journalAccountTypes :: Journal -> Map AccountName AccountType #

Build a map of all known account types, explicitly declared or inferred from the account's parent or name.

journalPostingsAddAccountTags :: Journal -> Journal #

To all postings in the journal, add any tags from their account (including those inherited from parent accounts). If the same tag exists on posting and account, the latter is ignored.

filterJournalTransactions :: Query -> Journal -> Journal #

Keep only transactions matching the query expression.

filterJournalPostings :: Query -> Journal -> Journal #

Keep only postings matching the query expression. This can leave unbalanced transactions.

filterJournalRelatedPostings :: Query -> Journal -> Journal #

Keep only postings which do not match the query expression, but for which a related posting does. This can leave unbalanced transactions.

filterJournalAmounts :: Query -> Journal -> Journal #

Within each posting's amount, keep only the parts matching the query, and remove any postings with all amounts removed. This can leave unbalanced transactions.

filterTransactionAmounts :: Query -> Transaction -> Transaction #

Filter out all parts of this transaction's amounts which do not match the query, and remove any postings with all amounts removed. This can leave the transaction unbalanced.

filterPostingAmount :: Query -> Posting -> Maybe Posting #

Filter out all parts of this posting's amount which do not match the query, and remove the posting if this removes all amounts.

filterTransactionPostings :: Query -> Transaction -> Transaction #

filterTransactionPostingsExtra :: (AccountName -> Maybe AccountType) -> Query -> Transaction -> Transaction #

filterTransactionRelatedPostings :: Query -> Transaction -> Transaction #

journalMapTransactions :: (Transaction -> Transaction) -> Journal -> Journal #

Apply a transformation to a journal's transactions.

journalMapPostings :: (Posting -> Posting) -> Journal -> Journal #

Apply a transformation to a journal's postings.

journalMapPostingAmounts :: (MixedAmount -> MixedAmount) -> Journal -> Journal #

Apply a transformation to a journal's posting amounts.

journalReverse :: Journal -> Journal #

Reverse all lists of parsed items, which during parsing were prepended to, so that the items are in parse order. Part of post-parse finalisation.

journalSetLastReadTime :: POSIXTime -> Journal -> Journal #

Set this journal's last read time, ie when its files were last read.

journalNumberAndTieTransactions :: Journal -> Journal #

journalNumberTransactions :: Journal -> Journal #

Number (set the tindex field) this journal's transactions, counting upward from 1.

journalUntieTransactions :: Transaction -> Transaction #

Untie all transaction-posting knots in this journal, so that eg recursiveSize and GHCI's :sprint can work on it.

journalModifyTransactions :: Bool -> Day -> Journal -> Either String Journal #

Apply any transaction modifier rules in the journal (adding automated postings to transactions, eg). Or if a modifier rule fails to parse, return the error message. A reference date is provided to help interpret relative dates in transaction modifier queries. The first argument selects whether to add visible tags to generated postings & modified transactions.

journalApplyCommodityStyles :: Journal -> Either String Journal #

Choose and apply a consistent display style to the posting amounts in each commodity (see journalCommodityStyles), keeping all display precisions unchanged. Can return an error message eg if inconsistent number formats are found.

journalCommodityStyles :: Journal -> Map CommoditySymbol AmountStyle #

Get the canonical amount styles for this journal, whether (in order of precedence): set globally in InputOpts, declared by commodity directives, declared by a default commodity (D) directive, or inferred from posting amounts, as a map from symbol to style. Styles from directives are assumed to specify the decimal mark.

commodityStylesFromAmounts :: [Amount] -> Either String (Map CommoditySymbol AmountStyle) #

Given a list of amounts, in parse order (roughly speaking; see journalStyleInfluencingAmounts), build a map from their commodity names to standard commodity display formats. Can return an error message eg if inconsistent number formats are found.

Though, these amounts may have come from multiple files, so we shouldn't assume they use consistent number formats. Currently we don't enforce that even within a single file, and this function never reports an error.

canonicalStyleFrom :: [AmountStyle] -> AmountStyle #

Given a list of amount styles (assumed to be from parsed amounts in a single commodity), in parse order, choose a canonical style.

journalInferMarketPricesFromTransactions :: Journal -> Journal #

Infer transaction-implied market prices from commodity-exchanging transactions, if any. It's best to call this after transactions have been balanced and posting amounts have appropriate prices attached.

journalToCost :: ConversionOp -> Journal -> Journal #

Convert all this journal's amounts to cost using their attached prices, if any.

journalInferEquityFromCosts :: Bool -> Journal -> Journal #

Add equity postings inferred from costs, where needed and possible. See hledger manual > Cost reporting.

journalInferCostsFromEquity :: Journal -> Either String Journal #

Add costs inferred from equity conversion postings, where needed and possible. See hledger manual > Cost reporting.

journalMarkRedundantCosts :: Journal -> Either String Journal #

Do just the internal tagging that is normally done by journalInferCostsFromEquity, identifying equity conversion postings and, in particular, postings which have redundant costs. Tagging the latter is useful as it allows them to be ignored during transaction balancedness checking. And that allows journalInferCostsFromEquity to be postponed till after transaction balancing, when it will have more information (amounts) to work with.

journalDateSpan :: Bool -> Journal -> DateSpan #

The fully specified exact date span enclosing the dates (primary or secondary) of all this journal's transactions and postings, or DateSpan Nothing Nothing if there are none.

journalDateSpanBothDates :: Journal -> DateSpan #

The fully specified date span enclosing the dates (primary and secondary) of all this journal's transactions and postings, or DateSpan Nothing Nothing if there are none.

journalStartDate :: Bool -> Journal -> Maybe Day #

The earliest of this journal's transaction and posting dates, or Nothing if there are none.

journalEndDate :: Bool -> Journal -> Maybe Day #

The "exclusive end date" of this journal: the day following its latest transaction or posting date, or Nothing if there are none.

journalLastDay :: Bool -> Journal -> Maybe Day #

The latest of this journal's transaction and posting dates, or Nothing if there are none.

journalPivot :: Text -> Journal -> Journal #

Apply the pivot transformation to all postings in a journal, replacing their account name by their value for the given field or tag.

journalApplyAliases :: [AccountAlias] -> Journal -> Either RegexError Journal #

Apply some account aliases to all posting account names in the journal, as described by accountNameApplyAliases. This can fail due to a bad replacement pattern in a regular expression alias.

samplejournal :: Journal #

samplejournalMaybeExplicit :: Bool -> Journal #

tests_Journal :: TestTree #

journalCheckUniqueleafnames :: Journal -> Either String () #

Check that all the journal's postings are to accounts with a unique leaf name. Otherwise, return an error message for the first offending posting.

journalCheckAccounts :: Journal -> Either String () #

Check that all the journal's postings are to accounts with account directives, returning an error message otherwise.

journalCheckCommodities :: Journal -> Either String () #

Check that all the commodities used in this journal's postings have been declared by commodity directives, returning an error message otherwise.

journalCheckPayees :: Journal -> Either String () #

Check that all the journal's transactions have payees declared with payee directives, returning an error message otherwise.

journalCheckTags :: Journal -> Either String () #

Check that all the journal's tags (on accounts, transactions, postings..) have been declared with tag directives, returning an error message otherwise.

journalCheckPairedConversionPostings :: Journal -> Either String () #

In each tranaction, check that any conversion postings occur in adjacent pairs.

journalCheckRecentAssertions :: Day -> Journal -> Either String () #

Check that accounts with balance assertions have no posting more than maxlag days after their latest balance assertion. Today's date is provided for error messages.

defbalancingopts :: BalancingOpts #

isTransactionBalanced :: BalancingOpts -> Transaction -> Bool #

Legacy form of transactionCheckBalanced.

balanceTransaction :: BalancingOpts -> Transaction -> Either String Transaction #

Balance this transaction, ensuring that its postings (and its balanced virtual postings) sum to 0, by inferring a missing amount or conversion price(s) if needed. Or if balancing is not possible, because the amounts don't sum to 0 or because there's more than one missing amount, return an error message.

Transactions with balance assignments can have more than one missing amount; to balance those you should use the more powerful journalBalanceTransactions.

The "sum to 0" test is done using commodity display precisions, if provided, so that the result agrees with the numbers users can see.

balanceTransactionHelper :: BalancingOpts -> Transaction -> Either String (Transaction, [(AccountName, MixedAmount)]) #

Helper used by balanceTransaction and balanceTransactionWithBalanceAssignmentAndCheckAssertionsB; use one of those instead. It also returns a list of accounts and amounts that were inferred.

journalCheckBalanceAssertions :: Journal -> Maybe String #

Check any balance assertions in the journal and return an error message if any of them fail (or if the transaction balancing they require fails).

journalBalanceTransactions :: BalancingOpts -> Journal -> Either String Journal #

Infer any missing amounts and/or conversion costs (as needed to balance transactions and satisfy balance assignments); and check that all transactions are balanced; and (optional) check that all balance assertions pass. Or, return an error message (just the first error encountered).

Assumes journalInferCommodityStyles has been called, since those affect transaction balancing.

This does multiple things at once because amount inferring, balance assignments, balance assertions and posting dates are interdependent.

tests_Balancing :: TestTree #

definputopts :: InputOpts #

forecastPeriod :: InputOpts -> Journal -> Maybe DateSpan #

Get the Maybe the DateSpan to generate forecast options from. This begins on: - the start date supplied to the `--forecast` argument, if present - otherwise, the later of - the report start date if specified with -b-pdate: - the day after the latest normal (non-periodic) transaction in the journal, if any - otherwise today. It ends on: - the end date supplied to the `--forecast` argument, if present - otherwise the report end date if specified with -e-pdate: - otherwise 180 days (6 months) from today.

nullacct :: Account #

accountsFromPostings :: [Posting] -> [Account] #

Derive 1. an account tree and 2. each account's total exclusive and inclusive changes from a list of postings. This is the core of the balance command (and of *ledger). The accounts are returned as a list in flattened tree order, and also reference each other as a tree. (The first account is the root of the tree.)

accountTree :: AccountName -> [AccountName] -> Account #

Convert a list of account names to a tree of Account objects, with just the account names filled in. A single root account with the given name is added.

parentAccounts :: Account -> [Account] #

Get this account's parent accounts, from the nearest up to the root.

accountsLevels :: Account -> [[Account]] #

List the accounts at each level of the account tree.

mapAccounts :: (Account -> Account) -> Account -> Account #

Map a (non-tree-structure-modifying) function over this and sub accounts.

anyAccounts :: (Account -> Bool) -> Account -> Bool #

Is the predicate true on any of this account or its subaccounts ?

sumAccounts :: Account -> Account #

Add subaccount-inclusive balances to an account tree.

clipAccounts :: Int -> Account -> Account #

Remove all subaccounts below a certain depth.

clipAccountsAndAggregate :: Maybe Int -> [Account] -> [Account] #

Remove subaccounts below the specified depth, aggregating their balance at the depth limit (accounts at the depth limit will have any sub-balances merged into their exclusive balance). If the depth is Nothing, return the original accounts

pruneAccounts :: (Account -> Bool) -> Account -> Maybe Account #

Remove all leaf accounts and subtrees matching a predicate.

flattenAccounts :: Account -> [Account] #

Flatten an account tree into a list, which is sometimes convenient. Note since accounts link to their parents/subs, the tree's structure remains intact and can still be used. It's a tree/list!

filterAccounts :: (Account -> Bool) -> Account -> [Account] #

Filter an account tree (to a list).

sortAccountTreeByAmount :: NormalSign -> Account -> Account #

Sort each group of siblings in an account tree by inclusive amount, so that the accounts with largest normal balances are listed first. The provided normal balance sign determines whether normal balances are negative or positive, affecting the sort order. Ie, if balances are normally negative, then the most negative balances sort first, and vice versa.

accountSetDeclarationInfo :: Journal -> Account -> Account #

Add extra info for this account derived from the Journal's account directives, if any (comment, tags, declaration order..).

sortAccountNamesByDeclaration :: Journal -> Bool -> [AccountName] -> [AccountName] #

Sort account names by the order in which they were declared in the journal, at each level of the account tree (ie within each group of siblings). Undeclared accounts are sorted last and alphabetically. This is hledger's default sort for reports organised by account. The account list is converted to a tree temporarily, adding any missing parents; these can be kept (suitable for a tree-mode report) or removed (suitable for a flat-mode report).

lookupAccount :: AccountName -> [Account] -> Maybe Account #

Search an account list by name.

printAccounts :: Account -> IO () #

showAccounts :: Account -> String #

showAccountsBoringFlag :: Account -> String #

nullledger :: Ledger #

ledgerFromJournal :: Query -> Journal -> Ledger #

Filter a journal's transactions with the given query, then build a Ledger, containing the journal plus the tree of all its accounts with their subaccount-inclusive and subaccount-exclusive balances. If the query includes a depth limit, the ledger's journal will be depth limited, but the ledger's account tree will not.

ledgerAccountNames :: Ledger -> [AccountName] #

List a ledger's account names.

ledgerAccount :: Ledger -> AccountName -> Maybe Account #

Get the named account from a ledger.

ledgerRootAccount :: Ledger -> Account #

Get this ledger's root account, which is a dummy "root" account above all others. This should always be first in the account list, if somehow not this returns a null account.

ledgerTopAccounts :: Ledger -> [Account] #

List a ledger's top-level accounts (the ones below the root), in tree order.

ledgerLeafAccounts :: Ledger -> [Account] #

List a ledger's bottom-level (subaccount-less) accounts, in tree order.

ledgerPostings :: Ledger -> [Posting] #

List a ledger's postings, in the order parsed.

ledgerDateSpan :: Ledger -> DateSpan #

The (fully specified) date span containing all the ledger's (filtered) transactions, or DateSpan Nothing Nothing if there are none.

ledgerCommodities :: Ledger -> [CommoditySymbol] #

All commodities used in this ledger.

tests_Ledger :: TestTree #

tests_Data :: TestTree #

defreportopts :: ReportOpts #

rawOptsToReportOpts :: Day -> RawOpts -> ReportOpts #

Generate a ReportOpts from raw command-line input, given a day. This will fail with a usage error if it is passed - an invalid --format argument, - an invalid --value argument, - if --valuechange is called with a valuation type other than -V/--value=end. - an invalid --pretty argument,

defreportspec :: ReportSpec #

setDefaultConversionOp :: ConversionOp -> ReportSpec -> ReportSpec #

Set the default ConversionOp.

balanceAccumulationOverride :: RawOpts -> Maybe BalanceAccumulation #

intervalFromRawOpts :: RawOpts -> Interval #

Get the report interval, if any, specified by the last of -p/--period, -D--daily, -W--weekly, -M/--monthly etc. options. An interval from --period counts only if it is explicitly defined.

simplifyStatuses :: Ord a => [a] -> [a] #

Reduce a list of statuses to just one of each status, and if all statuses are present return the empty list.

reportOptsToggleStatus :: Status -> ReportOpts -> ReportOpts #

Add/remove this status from the status list. Used by hledger-ui.

transactionDateFn :: ReportOpts -> Transaction -> Day #

Select the Transaction date accessor based on --date2.

postingDateFn :: ReportOpts -> Posting -> Day #

Select the Posting date accessor based on --date2.

whichDate :: ReportOpts -> WhichDate #

Report which date we will report on based on --date2.

tree_ :: ReportOpts -> Bool #

Legacy-compatible convenience aliases for accountlistmode_.

flat_ :: ReportOpts -> Bool #

journalValueAndFilterPostings :: ReportSpec -> Journal -> Journal #

Convert a `Journal'`s amounts to cost and/or to value (see `journalApplyValuationFromOpts`), and filter by the `ReportSpec` `Query`.

We make sure to first filter by amt: and cur: terms, then value the `Journal`, then filter by the remaining terms.

journalValueAndFilterPostingsWith :: ReportSpec -> Journal -> PriceOracle -> Journal #

Like `journalValueAndFilterPostings`, but takes a `PriceOracle` as an argument.

journalApplyValuationFromOpts :: ReportSpec -> Journal -> Journal #

Convert this journal's postings' amounts to cost and/or to value, if specified by options (-B--cost-V-X--value etc.). Strip prices if not needed. This should be the main stop for performing costing and valuation. The exception is whenever you need to perform valuation _after_ summing up amounts, as in a historical balance report with --value=end. valuationAfterSum will check for this condition.

journalApplyValuationFromOptsWith :: ReportSpec -> Journal -> PriceOracle -> Journal #

Like journalApplyValuationFromOpts, but takes PriceOracle as an argument.

mixedAmountApplyValuationAfterSumFromOptsWith :: ReportOpts -> Journal -> PriceOracle -> DateSpan -> MixedAmount -> MixedAmount #

Select the Account valuation functions required for performing valuation after summing amounts. Used in MultiBalanceReport to value historical and similar reports.

valuationAfterSum :: ReportOpts -> Maybe (Maybe CommoditySymbol) #

If the ReportOpts specify that we are performing valuation after summing amounts, return Just of the commodity symbol we're converting to, Just Nothing for the default, and otherwise return Nothing. Used for example with historical reports with --value=end.

queryFromFlags :: ReportOpts -> Query #

Convert report options to a query, ignoring any non-flag command line arguments.

reportSpan :: Journal -> ReportSpec -> (DateSpan, [DateSpan]) #

The effective report span is the start and end dates specified by options or queries, or otherwise the earliest and latest transaction or posting dates in the journal. If no dates are specified by options/queries and the journal is empty, returns the null date span. Also return the intervals if they are requested.

reportSpanBothDates :: Journal -> ReportSpec -> (DateSpan, [DateSpan]) #

Like reportSpan, but uses both primary and secondary dates when calculating the span.

reportStartDate :: Journal -> ReportSpec -> Maybe Day #

reportEndDate :: Journal -> ReportSpec -> Maybe Day #

reportPeriodStart :: ReportSpec -> Maybe Day #

reportPeriodOrJournalStart :: ReportSpec -> Journal -> Maybe Day #

reportPeriodLastDay :: ReportSpec -> Maybe Day #

reportPeriodOrJournalLastDay :: ReportSpec -> Journal -> Maybe Day #

reportPeriodName :: BalanceAccumulation -> [DateSpan] -> DateSpan -> Text #

Make a name for the given period in a multiperiod report, given the type of balance being reported and the full set of report periods. This will be used as a column heading (or row heading, in a register summary report). We try to pick a useful name as follows:

- ending-balance reports: the period's end date
- balance change reports where the periods are months and all in the same year: the short month name in the current locale
- all other balance change reports: a description of the datespan, abbreviated to compact form if possible (see showDateSpan).

overEither :: ((a -> Either e b) -> s -> Either e t) -> (a -> b) -> s -> Either e t #

Apply a function over a lens, but report on failure.

setEither :: ((a -> Either e b) -> s -> Either e t) -> b -> s -> Either e t #

Set a field using a lens, but report on failure.

reportOptsToSpec :: Day -> ReportOpts -> Either String ReportSpec #

Generate a ReportSpec from a set of ReportOpts on a given day.

updateReportSpec :: ReportOpts -> ReportSpec -> Either String ReportSpec #

Update the ReportOpts and the fields derived from it in a ReportSpec, or return an error message if there is a problem such as missing or unparseable options data. This is the safe way to change a ReportSpec, ensuring that all fields (_rsQuery, _rsReportOpts, querystring_, etc.) are in sync.

updateReportSpecWith :: (ReportOpts -> ReportOpts) -> ReportSpec -> Either String ReportSpec #

Like updateReportSpec, but takes a ReportOpts-modifying function.

rawOptsToReportSpec :: Day -> RawOpts -> Either String ReportSpec #

Generate a ReportSpec from RawOpts and a provided day, or return an error string if there are regular expression errors.

prrAdd :: Semigroup b => PeriodicReportRow a b -> PeriodicReportRow a b -> PeriodicReportRow a b #

Add two `PeriodicReportRows`, preserving the name of the first.

periodicReportSpan :: PeriodicReport a b -> DateSpan #

Figure out the overall date span of a PeriodicReport

prMapName :: (a -> b) -> PeriodicReport a c -> PeriodicReport b c #

Map a function over the row names.

prMapMaybeName :: (a -> Maybe b) -> PeriodicReport a c -> PeriodicReport b c #

Map a function over the row names, possibly discarding some.

flatDisplayName :: AccountName -> DisplayName #

Construct a flat display name, where the full name is also displayed at depth 1

treeDisplayName :: AccountName -> DisplayName #

Construct a tree display name, where only the leaf is displayed at its given depth

prrFullName :: PeriodicReportRow DisplayName a -> AccountName #

Get the full, canonical, name of a PeriodicReportRow tagged by a DisplayName.

prrDisplayName :: PeriodicReportRow DisplayName a -> AccountName #

Get the display name of a PeriodicReportRow tagged by a DisplayName.

prrDepth :: PeriodicReportRow DisplayName a -> Int #

Get the display depth of a PeriodicReportRow tagged by a DisplayName.

postingsReport :: ReportSpec -> Journal -> PostingsReport #

Select postings from the journal and add running balance and other information to make a postings report. Used by eg hledger's register command.

mkpostingsReportItem :: Bool -> Bool -> WhichDate -> Maybe Period -> Posting -> MixedAmount -> PostingsReportItem #

Generate one postings report line item, containing the posting, the current running balance, and optionally the posting date and/or the transaction description.

tests_PostingsReport :: TestTree #

multiBalanceReport :: ReportSpec -> Journal -> MultiBalanceReport #

Generate a multicolumn balance report for the matched accounts, showing the change of balance, accumulated balance, or historical balance in each of the specified periods. If the normalbalance_ option is set, it adjusts the sorting and sign of amounts (see ReportOpts and CompoundBalanceCommand). hledger's most powerful and useful report, used by the balance command (in multiperiod mode) and (via compoundBalanceReport) by the bscfis commands.

multiBalanceReportWith :: ReportSpec -> Journal -> PriceOracle -> Set AccountName -> MultiBalanceReport #

A helper for multiBalanceReport. This one takes some extra arguments, a `PriceOracle` to be used for looking up market prices, and a set of `AccountName`s which should not be elided. Commands which run multiple reports (bs etc.) can generate the price oracle just once for efficiency, passing it to each report by calling this function directly.

compoundBalanceReport :: ReportSpec -> Journal -> [CBCSubreportSpec a] -> CompoundPeriodicReport a MixedAmount #

Generate a compound balance report from a list of CBCSubreportSpec. This shares postings between the subreports.

compoundBalanceReportWith :: ReportSpec -> Journal -> PriceOracle -> [CBCSubreportSpec a] -> CompoundPeriodicReport a MixedAmount #

A helper for compoundBalanceReport, similar to multiBalanceReportWith.

startingPostings :: ReportSpec -> Journal -> PriceOracle -> DateSpan -> [Posting] #

Postings needed to calculate starting balances.

Balances at report start date, from all earlier postings which otherwise match the query. These balances are unvalued. TODO: Do we want to check whether to bother calculating these? isHistorical and startDate is not nothing, otherwise mempty? This currently gives a failure with some totals which are supposed to be 0 being blank.

makeReportQuery :: ReportSpec -> DateSpan -> ReportSpec #

Remove any date queries and insert queries from the report span. The user's query expanded to the report span if there is one (otherwise any date queries are left as-is, which handles the hledger-ui+future txns case above).

getPostingsByColumn :: ReportSpec -> Journal -> PriceOracle -> [DateSpan] -> [(DateSpan, [Posting])] #

Group postings, grouped by their column

getPostings :: ReportSpec -> Journal -> PriceOracle -> [Posting] #

Gather postings matching the query within the report period.

generateMultiBalanceReport :: ReportSpec -> Journal -> PriceOracle -> Set AccountName -> [(DateSpan, [Posting])] -> HashMap AccountName Account -> MultiBalanceReport #

Lay out a set of postings grouped by date span into a regular matrix with rows given by AccountName and columns by DateSpan, then generate a MultiBalanceReport from the columns.

sortRows :: ReportOpts -> Journal -> [MultiBalanceReportRow] -> [MultiBalanceReportRow] #

Sort the rows by amount or by account declaration order.

sortRowsLike :: [AccountName] -> [PeriodicReportRow DisplayName b] -> [PeriodicReportRow DisplayName b] #

A sorting helper: sort a list of things (eg report rows) keyed by account name to match the provided ordering of those same account names.

balanceReportTableAsText :: ReportOpts -> Table Text Text WideBuilder -> Builder #

Given a table representing a multi-column balance report (for example, made using `balanceReportAsTable`), render it in a format suitable for console output. Amounts with more than two commodities will be elided unless --no-elide is used.

tests_MultiBalanceReport :: TestTree #

entriesReport :: ReportSpec -> Journal -> EntriesReport #

Select transactions for an entries report.

tests_EntriesReport :: TestTree #

budgetReport :: ReportSpec -> BalancingOpts -> DateSpan -> Journal -> BudgetReport #

Calculate per-account, per-period budget (balance change) goals from all periodic transactions, calculate actual balance changes from the regular transactions, and compare these to get a `BudgetReport`. Unbudgeted accounts may be hidden or renamed (see journalWithBudgetAccountNames).

combineBudgetAndActual :: ReportOpts -> Journal -> MultiBalanceReport -> MultiBalanceReport -> BudgetReport #

Combine a per-account-and-subperiod report of budget goals, and one of actual change amounts, into a budget performance report. The two reports should have the same report interval, but need not have exactly the same account rows or date columns. (Cells in the combined budget report can be missing a budget goal, an actual amount, or both.) The combined report will include:

- consecutive subperiods at the same interval as the two reports, spanning the period of both reports
- all accounts mentioned in either report, sorted by account code or account name or amount as appropriate.

budgetReportAsText :: ReportOpts -> BudgetReport -> Text #

Render a budget report as plain text suitable for console output.

budgetReportAsTable :: ReportOpts -> BudgetReport -> Table Text Text WideBuilder #

Build a `Table` from a multi-column balance report.

budgetReportAsCsv :: ReportOpts -> BudgetReport -> [[Text]] #

Render a budget report as CSV. Like multiBalanceReportAsCsv, but includes alternating actual and budget amount columns.

tests_BudgetReport :: TestTree #

flatShowsExclusiveBalance :: Bool #

When true (the default), this makes balance --flat reports and their implementation clearer. Single/multi-col balance reports currently aren't all correct if this is false.

balanceReport :: ReportSpec -> Journal -> BalanceReport #

Enabling this makes balance --flat --empty also show parent accounts without postings, in addition to those with postings and a zero balance. Disabling it shows only the latter. No longer supported, but leave this here for a bit. flatShowsPostinglessAccounts = True

Generate a simple balance report, containing the matched accounts and their balances (change of balance) during the specified period. If the normalbalance_ option is set, it adjusts the sorting and sign of amounts (see ReportOpts and CompoundBalanceCommand).

tests_BalanceReport :: TestTree #

triOrigTransaction :: (a, b, c, d, e, f) -> a #

triDate :: (a, Transaction, c, d, e, f) -> Day #

triAmount :: (a, b, c, d, e, f) -> e #

triBalance :: (a, b, c, d, e, f) -> f #

triCommodityAmount :: CommoditySymbol -> (a, b, c, d, MixedAmount, f) -> MixedAmount #

triCommodityBalance :: CommoditySymbol -> (a, b, c, d, e, MixedAmount) -> MixedAmount #

accountTransactionsReport :: ReportSpec -> Journal -> Query -> AccountTransactionsReport #

accountTransactionsReportItems :: Query -> Query -> MixedAmount -> (MixedAmount -> MixedAmount) -> (AccountName -> Maybe AccountType) -> [(Day, Transaction)] -> [AccountTransactionsReportItem] #

Generate transactions report items from a list of transactions, using the provided user-specified report query, a query specifying which account to use as the focus, a starting balance, and a sign-setting function. Each transaction is accompanied by the date that should be shown for it in the report. This is not necessarily the transaction date - see transactionRegisterDate.

transactionRegisterDate :: WhichDate -> Query -> Query -> Transaction -> Day #

What date should be shown for a transaction in an account register report ? This will be in context of a particular account (the "this account" query) and any additional report query. It could be:

- if postings are matched by both thisacctq and reportq, the earliest of those matched postings' dates (or their secondary dates if --date2 was used)
- the transaction date, or its secondary date if --date2 was used.

accountTransactionsReportByCommodity :: AccountTransactionsReport -> [(CommoditySymbol, AccountTransactionsReport)] #

Split an account transactions report whose items may involve several commodities, into one or more single-commodity account transactions reports.

tests_AccountTransactionsReport :: TestTree #

tests_Reports :: TestTree #

rawOptsToInputOpts :: Day -> RawOpts -> InputOpts #

Parse an InputOpts from a RawOpts and a provided date. This will fail with a usage error if the forecast period expression cannot be parsed.

parseAndFinaliseJournal :: ErroringJournalParser IO ParsedJournal -> InputOpts -> FilePath -> Text -> ExceptT String IO Journal #

Given a parser to ParsedJournal, input options, file path and content: run the parser on the content, and finalise the result to get a Journal; or throw an error.

initialiseAndParseJournal :: ErroringJournalParser IO ParsedJournal -> InputOpts -> FilePath -> Text -> ExceptT String IO Journal #

Given a parser to ParsedJournal, input options, file path and content: run the parser on the content. This is all steps of `parseAndFinaliseJournal` without the finalisation step, and is used when you need to perform other actions before finalisation, as in parsing Timeclock and Timedot files.

journalFinalise :: InputOpts -> FilePath -> Text -> ParsedJournal -> ExceptT String IO Journal #

Post-process a Journal that has just been parsed or generated, in this order:

- add misc info (file path, read time)
- reverse transactions into their original parse order
- apply canonical commodity styles
- add tags from account directives to postings' tags
- add forecast transactions if enabled
- add tags from account directives to postings' tags (again to affect forecast transactions)
- add auto postings if enabled
- add tags from account directives to postings' tags (again to affect auto postings)
- evaluate balance assignments and balance each transaction
- check balance assertions if enabled
- infer equity postings in conversion transactions if enabled
- infer market prices from costs if enabled
- check all accounts have been declared if in strict mode
- check all commodities have been declared if in strict mode

journalAddAutoPostings :: Bool -> Day -> BalancingOpts -> Journal -> Either String Journal #

Apply any auto posting rules to generate extra postings on this journal's transactions. With a true first argument, adds visible tags to generated postings and modified transactions.

journalAddForecast :: Bool -> Maybe DateSpan -> Journal -> Journal #

Generate periodic transactions from all periodic transaction rules in the journal. These transactions are added to the in-memory Journal (but not the on-disk file).

The start & end date for generated periodic transactions are determined in a somewhat complicated way; see the hledger manual -> Periodic transactions.

setYear :: forall (m :: Type -> Type). Year -> JournalParser m () #

getYear :: forall (m :: Type -> Type). JournalParser m (Maybe Year) #

setDefaultCommodityAndStyle :: forall (m :: Type -> Type). (CommoditySymbol, AmountStyle) -> JournalParser m () #

getDefaultCommodityAndStyle :: forall (m :: Type -> Type). JournalParser m (Maybe (CommoditySymbol, AmountStyle)) #

getDefaultAmountStyle :: forall (m :: Type -> Type). JournalParser m (Maybe AmountStyle) #

Get amount style associated with default currency.

Returns `AmountStyle` used to defined by a latest default commodity directive prior to current position within this file or its parents.

getAmountStyle :: forall (m :: Type -> Type). CommoditySymbol -> JournalParser m (Maybe AmountStyle) #

Get the `AmountStyle` declared by the most recently parsed (in the current or parent files, prior to the current position) commodity directive for the given commodity, if any.

addDeclaredAccountTags :: forall (m :: Type -> Type). AccountName -> [Tag] -> JournalParser m () #

addDeclaredAccountType :: forall (m :: Type -> Type). AccountName -> AccountType -> JournalParser m () #

pushParentAccount :: forall (m :: Type -> Type). AccountName -> JournalParser m () #

popParentAccount :: forall (m :: Type -> Type). JournalParser m () #

getParentAccount :: forall (m :: Type -> Type). JournalParser m AccountName #

addAccountAlias :: MonadState Journal m => AccountAlias -> m () #

getAccountAliases :: MonadState Journal m => m [AccountAlias] #

clearAccountAliases :: MonadState Journal m => m () #

journalAddFile :: (FilePath, Text) -> Journal -> Journal #

statusp :: forall (m :: Type -> Type). TextParser m Status #

codep :: forall (m :: Type -> Type). TextParser m Text #

descriptionp :: forall (m :: Type -> Type). TextParser m Text #

Parse possibly empty text until a semicolon or newline. Whitespace is preserved (for now - perhaps helps preserve alignment of same-line comments ?).

datep :: forall (m :: Type -> Type). JournalParser m Day #

Parse a date in YYYY-MM-DD format. Slash (/) and period (.) are also allowed as separators. The year may be omitted if a default year has been set. Leading zeroes may be omitted.

datetimep :: forall (m :: Type -> Type). JournalParser m LocalTime #

Parse a date and time in YYYY-MM-DD HH:MM[:SS][+-ZZZZ] format. Slash (/) and period (.) are also allowed as date separators. The year may be omitted if a default year has been set. Seconds are optional. The timezone is optional and ignored (the time is always interpreted as a local time). Leading zeroes may be omitted (except in a timezone).

secondarydatep :: forall (m :: Type -> Type). Day -> TextParser m Day #

modifiedaccountnamep :: forall (m :: Type -> Type). JournalParser m AccountName #

Parse an account name (plus one following space if present), then apply any parent account prefix and/or account aliases currently in effect, in that order. (Ie first add the parent account prefix, then rewrite with aliases). This calls error if any account alias with an invalid regular expression exists.

accountnamep :: forall (m :: Type -> Type). TextParser m AccountName #

Parse an account name, plus one following space if present. Account names have one or more parts separated by the account separator character, and are terminated by two or more spaces (or end of input). Each part is at least one character long, may have single spaces inside it, and starts with a non-whitespace. Note, this means "{account}", "%^!" and ";comment" are all accepted (parent parsers usually prevent/consume the last). It should have required parts to start with an alphanumeric; for now it remains as-is for backwards compatibility.

noncommenttextp :: forall (m :: Type -> Type). TextParser m Text #

Parse possibly empty text, including whitespace, until a comment start (semicolon) or newline.

noncommenttext1p :: forall (m :: Type -> Type). TextParser m Text #

Parse non-empty text, including whitespace, until a comment start (semicolon) or newline.

singlespacedtext1p :: forall (m :: Type -> Type). TextParser m Text #

Parse non-empty, single-spaced text starting and ending with non-whitespace, until a double space or newline.

singlespacednoncommenttext1p :: forall (m :: Type -> Type). TextParser m Text #

Parse non-empty, single-spaced text starting and ending with non-whitespace, until a comment start (semicolon), double space, or newline.

singlespacedtextsatisfying1p :: forall (m :: Type -> Type). (Char -> Bool) -> TextParser m Text #

Parse non-empty, single-spaced text starting and ending with non-whitespace, where all characters satisfy the given predicate.

singlespacep :: forall (m :: Type -> Type). TextParser m () #

Parse one non-newline whitespace character that is not followed by another one.

spaceandamountormissingp :: forall (m :: Type -> Type). JournalParser m MixedAmount #

Parse whitespace then an amount, or return the special "missing" marker amount.

amountp :: forall (m :: Type -> Type). JournalParser m Amount #

Parse a single-commodity amount, applying the default commodity if there is no commodity symbol; optionally followed by, in any order: a Ledger-style cost, Ledger-style valuation expression, and/or Ledger-style cost basis, which is one or more of lot cost, lot date, and/or lot note (we loosely call this triple the lot's cost basis). The cost basis makes it a lot rather than just an amount. Both cost basis info and valuation expression are discarded for now. The main amount's sign is significant; here are the possibilities and their interpretation. Also imagine an optional VALUATIONEXPR added to any of these (omitted for clarity): @

AMT -- acquiring an amount AMT COST -- acquiring an amount at some cost AMT COST COSTBASIS -- acquiring a lot at some cost, saving its cost basis AMT COSTBASIS COST -- like the above AMT COSTBASIS -- like the above with cost same as the cost basis

- AMT -- releasing an amount
- AMT SELLPRICE -- releasing an amount at some selling price
- AMT SELLPRICE COSTBASISSEL -- releasing a lot at some selling price, selecting it by its cost basis
- AMT COSTBASISSEL SELLPRICE -- like the above
- AMT COSTBASISSEL -- like the above with selling price same as the selected lot's cost basis amount

COST/SELLPRICE can be `UNITAMT,` `TOTALAMT, (`) UNITAMT, or (@@) TOTALAMT. The () are ignored. COSTBASIS is one or more of {LOTCOST}, [LOTDATE], (LOTNOTE), in any order, with LOTCOST defaulting to COST. COSTBASISSEL is one or more of {LOTCOST}, [LOTDATE], (LOTNOTE), in any order. {LOTCOST} can be {UNITAMT}, {{TOTALAMT}}, {=UNITAMT}, or {{=TOTALAMT}}. The = is ignored. VALUATIONEXPR can be ((VALUE AMOUNT)) or ((VALUE FUNCTION)).

@ Ledger amount syntax is really complex. Rule of thumb: curly braces, parentheses, and/or square brackets in an amount means a Ledger-style cost basis is involved.

To parse an amount's numeric quantity we need to know which character represents a decimal mark. We find it in one of three ways:

1. If a decimal mark has been set explicitly in the journal parse state, we use that
2. Or if the journal has a commodity declaration for the amount's commodity, we get the decimal mark from that
3. Otherwise we will parse any valid decimal mark appearing in the number, as long as the number appears well formed. (This means we handle files with any supported decimal mark without configuration, but it also allows different decimal marks in different amounts, which is a bit too loose. There's an open issue.)

amountp' :: forall (m :: Type -> Type). Bool -> JournalParser m Amount #

parseamount :: String -> Either HledgerParseErrors Amount #

Try to parse a single-commodity amount from a string

parseamount' :: String -> Amount #

Parse a single-commodity amount from a string, or get an error.

parsemixedamount :: String -> Either HledgerParseErrors MixedAmount #

Like parseamount', but returns a MixedAmount.

parsemixedamount' :: String -> MixedAmount #

Like parseamount', but returns a MixedAmount.

commoditysymbolp :: forall (m :: Type -> Type). TextParser m CommoditySymbol #

costp :: forall (m :: Type -> Type). Amount -> JournalParser m AmountPrice #

Ledger-style cost notation: `UNITAMT,` `TOTALAMT, (`) UNITAMT, or (@@) TOTALAMT. The () are ignored.

balanceassertionp :: forall (m :: Type -> Type). JournalParser m BalanceAssertion #

lotcostp :: forall (m :: Type -> Type). JournalParser m () #

numberp :: forall (m :: Type -> Type). Maybe AmountStyle -> TextParser m (Quantity, Word8, Maybe Char, Maybe DigitGroupStyle) #

Parse a string representation of a number for its value and display attributes.

Some international number formats are accepted, eg either period or comma may be used for the decimal mark, and the other of these may be used for separating digit groups in the integer part. See http://en.wikipedia.org/wiki/Decimal_separator for more examples.

This returns: the parsed numeric value, the precision (number of digits seen following the decimal mark), the decimal mark character used if any, and the digit group style if any.

fromRawNumber :: RawNumber -> Maybe Integer -> Either String (Quantity, Word8, Maybe Char, Maybe DigitGroupStyle) #

Interpret a raw number as a decimal number.

Returns: - the decimal number - the precision (number of digits after the decimal point) - the decimal point character, if any - the digit group style, if any (digit group character and sizes of digit groups)

rawnumberp :: forall (m :: Type -> Type). TextParser m (Either AmbiguousNumber RawNumber) #

Parse and interpret the structure of a number without external hints. Numbers are digit strings, possibly separated into digit groups by one of two types of separators. (1) Numbers may optionally have a decimal mark, which may be either a period or comma. (2) Numbers may optionally contain digit group marks, which must all be either a period, a comma, or a space.

It is our task to deduce the characters used as decimal mark and digit group mark, based on the allowed syntax. For instance, we make use of the fact that a decimal mark can occur at most once and must be to the right of all digit group marks.

    >>> parseTest rawnumberp "1,234,567.89"
    Right (WithSeparators ',' ["1","234","567"] (Just ('.',"89")))
    >>> parseTest rawnumberp "1,000"
    Left (AmbiguousNumber "1" ',' "000")
    >>> parseTest rawnumberp "1 000"
    Right (WithSeparators ' ' ["1","000"] Nothing)

multilinecommentp :: forall (m :: Type -> Type). TextParser m () #

emptyorcommentlinep :: forall (m :: Type -> Type). TextParser m () #

A blank or comment line in journal format: a line that's empty or containing only whitespace or whose first non-whitespace character is semicolon, hash, or star.

isLineCommentStart :: Char -> Bool #

Is this a character that, as the first non-whitespace on a line, starts a comment line ?

isSameLineCommentStart :: Char -> Bool #

Is this a character that, appearing anywhere within a line, starts a comment ?

followingcommentp :: forall (m :: Type -> Type). TextParser m Text #

Parse the text of a (possibly multiline) comment following a journal item.

    >>> rtp followingcommentp ""   -- no comment
    Right ""
    >>> rtp followingcommentp ";"    -- just a (empty) same-line comment. newline is added
    Right "\n"
    >>> rtp followingcommentp ";  \n"
    Right "\n"
    >>> rtp followingcommentp ";\n ;\n"  -- a same-line and a next-line comment
    Right "\n\n"
    >>> rtp followingcommentp "\n ;\n"  -- just a next-line comment. Insert an empty same-line comment so the next-line comment doesn't become a same-line comment.
    Right "\n\n"

transactioncommentp :: forall (m :: Type -> Type). TextParser m (Text, [Tag]) #

Parse a transaction comment and extract its tags.

The first line of a transaction may be followed by comments, which begin with semicolons and extend to the end of the line. Transaction comments may span multiple lines, but comment lines below the transaction must be preceded by leading whitespace.

200011 ; a transaction comment starting on the same line ... ; extending to the next line account1 $1 account2

Tags are name-value pairs.

    >>> let getTags (_,tags) = tags
    >>> let parseTags = fmap getTags . rtp transactioncommentp

    >>> parseTags "; name1: val1, name2:all this is value2"
    Right [("name1","val1"),("name2","all this is value2")]

A tag's name must be immediately followed by a colon, without separating whitespace. The corresponding value consists of all the text following the colon up until the next colon or newline, stripped of leading and trailing whitespace.

postingcommentp :: forall (m :: Type -> Type). Maybe Year -> TextParser m (Text, [Tag], Maybe Day, Maybe Day) #

Parse a posting comment and extract its tags and dates.

Postings may be followed by comments, which begin with semicolons and extend to the end of the line. Posting comments may span multiple lines, but comment lines below the posting must be preceded by leading whitespace.

200011 account1 $1 ; a posting comment starting on the same line ... ; extending to the next line

account2 ; a posting comment beginning on the next line

Tags are name-value pairs.

    >>> let getTags (_,tags,_,_) = tags
    >>> let parseTags = fmap getTags . rtp (postingcommentp Nothing)

    >>> parseTags "; name1: val1, name2:all this is value2"
    Right [("name1","val1"),("name2","all this is value2")]

A tag's name must be immediately followed by a colon, without separating whitespace. The corresponding value consists of all the text following the colon up until the next colon or newline, stripped of leading and trailing whitespace.

Posting dates may be expressed with "date"/"date2" tags or with bracketed date syntax. Posting dates will inherit their year from the transaction date if the year is not specified. We throw parse errors on invalid dates.

    >>> let getDates (_,_,d1,d2) = (d1, d2)
    >>> let parseDates = fmap getDates . rtp (postingcommentp (Just 2000))

    >>> parseDates "; date: 1/2, date2: 1999/12/31"
    Right (Just 2000-01-02,Just 1999-12-31)
    >>> parseDates "; [1/2=1999/12/31]"
    Right (Just 2000-01-02,Just 1999-12-31)

Example: tags, date tags, and bracketed dates >>> rtp (postingcommentp (Just 2000)) "; a:b, date:34, [=56]" Right ("a:b, date:34, [=56]n",[("a","b"),("date","3/4")],Just 2000-03-04,Just 2000-05-06)

Example: extraction of dates from date tags ignores trailing text >>> rtp (postingcommentp (Just 2000)) "; date:34=56" Right ("date:34=56n",[("date","34=56")],Just 2000-03-04,Nothing)

bracketeddatetagsp :: forall (m :: Type -> Type). Maybe Year -> TextParser m [(TagName, Day)] #

Parse Ledger-style bracketed posting dates ([DATE=DATE2]), as "date" and/or "date2" tags. Anything that looks like an attempt at this (a square-bracketed sequence of 0123456789/-.= containing at least one digit and one date separator) is also parsed, and will throw an appropriate error.

The dates are parsed in full here so that errors are reported in the right position. A missing year in DATE can be inferred if a default date is provided. A missing year in DATE2 will be inferred from DATE.

    >>> either (Left . customErrorBundlePretty) Right $ rtp (bracketeddatetagsp Nothing) "[2016/1/2=3/4]"
    Right [("date",2016-01-02),("date2",2016-03-04)]

    >>> either (Left . customErrorBundlePretty) Right $ rtp (bracketeddatetagsp Nothing) "[1]"
    Left ...not a bracketed date...

    >>> either (Left . customErrorBundlePretty) Right $ rtp (bracketeddatetagsp Nothing) "[2016/1/32]"
    Left ...1:2:...This date is invalid...

    >>> either (Left . customErrorBundlePretty) Right $ rtp (bracketeddatetagsp Nothing) "[1/31]"
    Left ...1:2:...The partial date 1/31 can not be parsed...

    >>> either (Left . customErrorBundlePretty) Right $ rtp (bracketeddatetagsp Nothing) "[0123456789/-.=/-.=]"
    Left ...1:13:...expecting month or day...

aliasesFromOpts :: InputOpts -> [AccountAlias] #

Get the account name aliases from options, if any.

accountaliasp :: forall (m :: Type -> Type). TextParser m AccountAlias #

tests_Common :: TestTree #

runJournalParser :: Monad m => JournalParser m a -> Text -> m (Either HledgerParseErrors a) #

Run a journal parser in some monad. See also: parseWithState.

findReader :: forall (m :: Type -> Type). MonadIO m => Maybe StorageFormat -> Maybe FilePath -> Maybe (Reader m) #

    findReader mformat mpath

Find the reader named by `mformat`, if provided. Or, if a file path is provided, find the first reader that handles its file extension, if any.

splitReaderPrefix :: PrefixedFilePath -> (Maybe String, FilePath) #

If a filepath is prefixed by one of the reader names and a colon, split that off. Eg "csv:-" -> (Just "csv", "-").

tmpostingrulep :: forall (m :: Type -> Type). Maybe Year -> JournalParser m TMPostingRule #

defaultJournal :: IO Journal #

Read the default journal file specified by the environment, or raise an error.

defaultJournalPath :: IO String #

Get the default journal file path specified by the environment. Like ledger, we look first for the LEDGER_FILE environment variable, and if that does not exist, for the legacy LEDGER environment variable. If neither is set, or the value is blank, return the hard-coded default, which is `.hledger.journal` in the users's home directory (or in the current directory, if we cannot determine a home directory).

readJournal :: InputOpts -> Maybe FilePath -> Text -> ExceptT String IO Journal #

    readJournal iopts mfile txt

Read a Journal from some text, or return an error message.

The reader (data format) is chosen based on, in this order:

- a reader name provided in `iopts`
- a reader prefix in the `mfile` path
- a file extension in `mfile`

If none of these is available, or if the reader name is unrecognised, we use the journal reader. (We used to try all readers in this case; since hledger 1.17, we prefer predictability.)

readJournalFile :: InputOpts -> PrefixedFilePath -> ExceptT String IO Journal #

Read a Journal from this file, or from stdin if the file path is -, or return an error message. The file path can have a READER: prefix.

The reader (data format) to use is determined from (in priority order): the `mformat_` specified in the input options, if any; the file path's READER: prefix, if any; a recognised file name extension. if none of these identify a known reader, the journal reader is used.

The input options can also configure balance assertion checking, automated posting generation, a rules file for converting CSV data, etc.

readJournalFiles :: InputOpts -> [PrefixedFilePath] -> ExceptT String IO Journal #

Read a Journal from each specified file path and combine them into one. Or, return the first error message.

Combining Journals means concatenating them, basically. The parse state resets at the start of each file, which means that directives & aliases do not affect subsequent sibling or parent files. They do affect included child files though. Also the final parse state saved in the Journal does span all files.

readJournal' :: Text -> IO Journal #

An easy version of `readJournal` which assumes default options, and fails in the IO monad.

readJournalFile' :: PrefixedFilePath -> IO Journal #

An easy version of `readJournalFile` which assumes default options, and fails in the IO monad.

readJournalFiles' :: [PrefixedFilePath] -> IO Journal #

An easy version of `readJournalFiles'` which assumes default options, and fails in the IO monad.

orDieTrying :: MonadIO m => ExceptT String m a -> m a #

Extract ExceptT to the IO monad, failing with an error message if necessary.

requireJournalFileExists :: FilePath -> IO () #

If the specified journal file does not exist (and is not "-"), give a helpful error and quit.

ensureJournalFileExists :: FilePath -> IO () #

Ensure there is a journal file at the given path, creating an empty one if needed. On Windows, also ensure that the path contains no trailing dots which could cause data loss (see `isWindowsUnsafeDotPath`).

tests_Read :: TestTree #

tests_Hledger :: TestTree #

assertFailure #

Arguments

:: HasCallStack |
=> String | A message that is displayed with the assertion failure
-> IO a |

Unconditionally signals that a failure has occured. All other assertions can be expressed with the form:

       if conditionIsMet
           then return ()
           else assertFailure msg

assertBool #

Arguments

:: HasCallStack |
=> String | The message that is displayed if the assertion fails
-> Bool | The condition
-> Assertion |

Asserts that the specified condition holds.

assertEqual #

Arguments

:: (Eq a, Show a, HasCallStack) |
=> String | The message prefix
-> a | The expected value
-> a | The actual value
-> Assertion |

Asserts that the specified actual value is equal to the expected value. The output message will contain the prefix, the expected value, and the actual value.

If the prefix is the empty string (i.e., `""`), then the prefix is omitted and only the expected and actual values are output.

(@=?) infix 1 #

Arguments

:: (Eq a, Show a, HasCallStack) |
=> a | The expected value
-> a | The actual value
-> Assertion |

Asserts that the specified actual value is equal to the expected value (with the expected value on the left-hand side).

(@?=) infix 1 #

Arguments

:: (Eq a, Show a, HasCallStack) |
=> a | The actual value
-> a | The expected value
-> Assertion |

Asserts that the specified actual value is equal to the expected value (with the actual value on the left-hand side).

(@?) infix 1 #

Arguments

:: (AssertionPredicable t, HasCallStack) |
=> t | A value of which the asserted condition is predicated
-> String | A message that is displayed if the assertion fails
-> Assertion |

An infix and flipped version of `assertBool`. E.g. instead of

    assertBool "Non-empty list" (null [1])

you can write

    null [1] @? "Non-empty list"

`@?` is also overloaded to accept ``IO` `Bool`` predicates, so instead of

    do
      e <- doesFileExist "test"
      e @? "File does not exist"

you can write

    doesFileExist "test" @? "File does not exist"

assertString #

Arguments

:: HasCallStack |
=> String | The message that is displayed with the assertion failure
-> Assertion |

Signals an assertion failure if a non-empty message (i.e., a message other than `""`) is passed.

testCaseSteps :: TestName -> ((String -> IO ()) -> Assertion) -> TestTree #

Create a multi-step unit test.

Example:

    main = defaultMain $ testCaseSteps "Multi-step test" $ \step -> do
      step "Preparing..."
      -- do something

      step "Running part 1"
      -- do something

      step "Running part 2"
      -- do something
      assertFailure "BAM!"

      step "Running part 3"
      -- do something

The `step` calls are mere annotations. They let you see which steps were performed successfully, and which step failed.

You can think of `step` as `putStrLn`, except `putStrLn` would mess up the output with the console reporter and get lost with the others.

For the example above, the output will be

    Multi-step test: FAIL
      Preparing...
      Running part 1
      Running part 2
        BAM!

    1 out of 1 tests failed (0.00s)

Note that:

- Tasty still treats this as a single test, even though it consists of multiple steps.
- The execution stops after the first failure. When we are looking at a failed test, we know that all displayed steps but the last one were successful, and the last one failed. The steps after the failed one are not displayed, since they didn't run.

testCaseInfo :: TestName -> IO String -> TestTree #

Like `testCase`, except in case the test succeeds, the returned string will be shown as the description. If the empty string is returned, it will be ignored.

(</>) :: FilePath -> FilePath -> FilePath #

combine :: FilePath -> FilePath -> FilePath #

isNothing :: Maybe a -> Bool #

isJust :: Maybe a -> Bool #

fromJust :: HasCallStack => Maybe a -> a #

maybeToList :: Maybe a -> [a] #

headMay :: [a] -> Maybe a #

lastMay :: [a] -> Maybe a #

maximumMay :: Ord a => [a] -> Maybe a #

maximumByMay :: (a -> a -> Ordering) -> [a] -> Maybe a #

minimumMay :: Ord a => [a] -> Maybe a #

minimumByMay :: (a -> a -> Ordering) -> [a] -> Maybe a #

tailMay :: [a] -> Maybe [a] #

    tailMay [] = Nothing
    tailMay [1,3,4] = Just [3,4]

initMay :: [a] -> Maybe [a] #

tailDef :: [a] -> [a] -> [a] #

    tailDef [12] [] = [12]
    tailDef [12] [1,3,4] = [3,4]

initDef :: [a] -> [a] -> [a] #

pack :: String -> Text #

unpack :: Text -> String #

listToMaybe :: [a] -> Maybe a #

clamp :: Ord a => (a, a) -> a -> a #

comparing :: Ord a => (b -> a) -> b -> b -> Ordering #

defaultTimeLocale :: TimeLocale #

iso8601DateFormat :: Maybe String -> String #

rfc822DateFormat :: String #

writeOutput :: CliOpts -> String -> IO () #

Write some output to stdout or to a file selected by --output-file. If the file exists it will be overwritten.

register :: CliOpts -> Journal -> IO () #

Print a (posting) register report.

foldl1May :: (a -> a -> a) -> [a] -> Maybe a #

foldr1May :: (a -> a -> a) -> [a] -> Maybe a #

foldl1Note :: Partial => String -> (a -> a -> a) -> [a] -> a #

foldr1Note :: Partial => String -> (a -> a -> a) -> [a] -> a #

minimumNote :: (Partial, Ord a) => String -> [a] -> a #

maximumNote :: (Partial, Ord a) => String -> [a] -> a #

minimumByNote :: Partial => String -> (a -> a -> Ordering) -> [a] -> a #

maximumByNote :: Partial => String -> (a -> a -> Ordering) -> [a] -> a #

maximumBoundBy :: a -> (a -> a -> Ordering) -> [a] -> a #

The largest element of a list with respect to the given comparison function. The result is bounded by the value given as the first argument.

minimumBoundBy :: a -> (a -> a -> Ordering) -> [a] -> a #

The smallest element of a list with respect to the given comparison function. The result is bounded by the value given as the first argument.

maximumBound :: Ord a => a -> [a] -> a #

The largest element of a list. The result is bounded by the value given as the first argument.

minimumBound :: Ord a => a -> [a] -> a #

The smallest element of a list. The result is bounded by the value given as the first argument.

maximumBounded :: (Ord a, Bounded a) => [a] -> a #

The largest element of a list. The result is bounded by `minBound`.

minimumBounded :: (Ord a, Bounded a) => [a] -> a #

The largest element of a list. The result is bounded by `maxBound`.

findJust :: (a -> Bool) -> [a] -> a #

    findJust op = fromJust . find op

findJustDef :: a -> (a -> Bool) -> [a] -> a #

findJustNote :: Partial => String -> (a -> Bool) -> [a] -> a #

minimumDef :: Ord a => a -> [a] -> a #

New users are recommended to use `minimumBound` or `maximumBound` instead.

maximumDef :: Ord a => a -> [a] -> a #

New users are recommended to use `minimumBound` or `maximumBound` instead.

minimumByDef :: a -> (a -> a -> Ordering) -> [a] -> a #

New users are recommended to use `minimumBoundBy` or `maximumBoundBy` instead.

maximumByDef :: a -> (a -> a -> Ordering) -> [a] -> a #

New users are recommended to use `minimumBoundBy` or `maximumBoundBy` instead.

foldl1Def :: a -> (a -> a -> a) -> [a] -> a #

foldr1Def :: a -> (a -> a -> a) -> [a] -> a #

tailNote :: Partial => String -> [a] -> [a] #

    tailNote "help me" [] = error "Safe.tailNote [], help me"
    tailNote "help me" [1,3,4] = [3,4]

tailSafe :: [a] -> [a] #

    tailSafe [] = []
    tailSafe [1,3,4] = [3,4]

initNote :: Partial => String -> [a] -> [a] #

initSafe :: [a] -> [a] #

headNote :: Partial => String -> [a] -> a #

lastNote :: Partial => String -> [a] -> a #

foldl1May' :: (a -> a -> a) -> [a] -> Maybe a #

foldl1Note' :: Partial => String -> (a -> a -> a) -> [a] -> a #

scanr1May :: (a -> a -> a) -> [a] -> Maybe [a] #

scanl1May :: (a -> a -> a) -> [a] -> Maybe [a] #

scanr1Def :: [a] -> (a -> a -> a) -> [a] -> [a] #

scanl1Def :: [a] -> (a -> a -> a) -> [a] -> [a] #

scanr1Note :: Partial => String -> (a -> a -> a) -> [a] -> [a] #

scanl1Note :: Partial => String -> (a -> a -> a) -> [a] -> [a] #

cycleMay :: [a] -> Maybe [a] #

cycleDef :: [a] -> [a] -> [a] #

cycleNote :: Partial => String -> [a] -> [a] #

fromJustDef :: a -> Maybe a -> a #

An alternative name for `fromMaybe`, to fit the naming scheme of this package. Generally using `fromMaybe` directly would be considered better style.

fromJustNote :: Partial => String -> Maybe a -> a #

assertNote :: Partial => String -> Bool -> a -> a #

atMay :: [a] -> Int -> Maybe a #

atDef :: a -> [a] -> Int -> a #

atNote :: Partial => String -> [a] -> Int -> a #

readEitherSafe :: Read a => String -> Either String a #

This function provides a more precise error message than `readEither` from `base`.

readMay :: Read a => String -> Maybe a #

readDef :: Read a => a -> String -> a #

readNote :: (Partial, Read a) => String -> String -> a #

`readNote` uses `readEitherSafe` for the error message.

lookupJust :: (Eq a, Partial) => a -> [(a, b)] -> b #

    lookupJust key = fromJust . lookup key

lookupJustDef :: Eq a => b -> a -> [(a, b)] -> b #

lookupJustNote :: (Partial, Eq a) => String -> a -> [(a, b)] -> b #

elemIndexJust :: (Partial, Eq a) => a -> [a] -> Int #

    elemIndexJust op = fromJust . elemIndex op

elemIndexJustDef :: Eq a => Int -> a -> [a] -> Int #

elemIndexJustNote :: (Partial, Eq a) => String -> a -> [a] -> Int #

findIndexJust :: (a -> Bool) -> [a] -> Int #

    findIndexJust op = fromJust . findIndex op

findIndexJustDef :: Int -> (a -> Bool) -> [a] -> Int #

findIndexJustNote :: Partial => String -> (a -> Bool) -> [a] -> Int #

toEnumMay :: (Enum a, Bounded a) => Int -> Maybe a #

toEnumDef :: (Enum a, Bounded a) => a -> Int -> a #

toEnumNote :: (Partial, Enum a, Bounded a) => String -> Int -> a #

toEnumSafe :: (Enum a, Bounded a) => Int -> a #

succMay :: (Enum a, Eq a, Bounded a) => a -> Maybe a #

succDef :: (Enum a, Eq a, Bounded a) => a -> a -> a #

succNote :: (Partial, Enum a, Eq a, Bounded a) => String -> a -> a #

succSafe :: (Enum a, Eq a, Bounded a) => a -> a #

predMay :: (Enum a, Eq a, Bounded a) => a -> Maybe a #

predDef :: (Enum a, Eq a, Bounded a) => a -> a -> a #

predNote :: (Partial, Enum a, Eq a, Bounded a) => String -> a -> a #

predSafe :: (Enum a, Eq a, Bounded a) => a -> a #

indexMay :: Ix a => (a, a) -> a -> Maybe Int #

indexDef :: Ix a => Int -> (a, a) -> a -> Int #

indexNote :: (Partial, Ix a) => String -> (a, a) -> a -> Int #

foldl1Def' :: a -> (a -> a -> a) -> [a] -> a #

(<.>) :: FilePath -> String -> FilePath #

calendarDay :: CalendarDiffDays #

calendarMonth :: CalendarDiffDays #

calendarWeek :: CalendarDiffDays #

calendarYear :: CalendarDiffDays #

scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays #

addDays :: Integer -> Day -> Day #

diffDays :: Day -> Day -> Integer #

addGregorianDurationClip :: CalendarDiffDays -> Day -> Day #

addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day #

addGregorianMonthsClip :: Integer -> Day -> Day #

addGregorianMonthsRollOver :: Integer -> Day -> Day #

addGregorianYearsClip :: Integer -> Day -> Day #

addGregorianYearsRollOver :: Integer -> Day -> Day #

diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays #

diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays #

fromGregorian :: Year -> MonthOfYear -> DayOfMonth -> Day #

fromGregorianValid :: Year -> MonthOfYear -> DayOfMonth -> Maybe Day #

gregorianMonthLength :: Year -> MonthOfYear -> DayOfMonth #

showGregorian :: Day -> String #

toGregorian :: Day -> (Year, MonthOfYear, DayOfMonth) #

isLeapYear :: Year -> Bool #

dayOfWeek :: Day -> DayOfWeek #

dayOfWeekDiff :: DayOfWeek -> DayOfWeek -> Int #

firstDayOfWeekOnAfter :: DayOfWeek -> Day -> Day #

utc :: TimeZone #

parseTimeM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> String -> String -> m t #

parseTimeOrError :: ParseTime t => Bool -> TimeLocale -> String -> String -> t #

readPTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadP t #

readSTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadS t #

zonedTimeToUTC :: ZonedTime -> UTCTime #

addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime #

diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime #

localTimeToUT1 :: Rational -> LocalTime -> UniversalTime #

localTimeToUTC :: TimeZone -> LocalTime -> UTCTime #

ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime #

utcToLocalTime :: TimeZone -> UTCTime -> LocalTime #

getZonedTime :: IO ZonedTime #

utcToLocalZonedTime :: UTCTime -> IO ZonedTime #

utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime #

diffTimeToPicoseconds :: DiffTime -> Integer #

picosecondsToDiffTime :: Integer -> DiffTime #

secondsToDiffTime :: Integer -> DiffTime #

nominalDay :: NominalDiffTime #

nominalDiffTimeToSeconds :: NominalDiffTime -> Pico #

secondsToNominalDiffTime :: Pico -> NominalDiffTime #

getTime_resolution :: DiffTime #

addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime #

diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime #

getCurrentTime :: IO UTCTime #

formatTime :: FormatTime t => TimeLocale -> String -> t -> String #

calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime #

calendarTimeTime :: NominalDiffTime -> CalendarDiffTime #

scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime #

dayFractionToTimeOfDay :: Rational -> TimeOfDay #

daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime #

localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) #

makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay #

midday :: TimeOfDay #

midnight :: TimeOfDay #

pastMidnight :: DiffTime -> TimeOfDay #

sinceMidnight :: TimeOfDay -> DiffTime #

timeOfDayToDayFraction :: TimeOfDay -> Rational #

timeOfDayToTime :: TimeOfDay -> DiffTime #

timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay) #

timeToTimeOfDay :: DiffTime -> TimeOfDay #

utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay) #

getCurrentTimeZone :: IO TimeZone #

getTimeZone :: UTCTime -> IO TimeZone #

hoursToTimeZone :: Int -> TimeZone #

minutesToTimeZone :: Int -> TimeZone #

timeZoneOffsetString :: TimeZone -> String #

timeZoneOffsetString' :: Maybe Char -> TimeZone -> String #

prognameandversion :: String #

The program name and version string for this build of the hledger tool, including any git info available at build time.

versionString :: ProgramName -> PackageVersion -> String #

A helper to generate the best version string we can from the given program name and package version strings, current os and architecture, and any git info available at build time (commit hash, commit date, branch name, patchlevel since latest release tag for that program's package). Typically called for programs "hledger", "hledger-ui", or "hledger-web".

The git info changes whenever any file in the repository changes. Keeping this template haskell call here and not down in Hledger.Cli.Version helps reduce the number of modules recompiled.

helpflags :: [Flag RawOpts] #

Common help flags: --help, --debug, --version...

detailedversionflag :: Flag RawOpts #

A hidden flag just for the hledger executable.

flattreeflags :: Bool -> [Flag RawOpts] #

Flags for selecting flat/tree mode, used for reports organised by account. With a True argument, shows some extra help about inclusive/exclusive amounts.

hiddenflags :: [Flag RawOpts] #

Common flags that are accepted but not shown in --help, such as --effective, --aux-date.

inputflags :: [Flag RawOpts] #

Common input-related flags: --file, --rules-file, --alias...

reportflags :: [Flag RawOpts] #

Common report-related flags: --period, --cost, etc.

outputFormatFlag :: [String] -> Flag RawOpts #

Common output-related flags: --output-file, --output-format...

outputFileFlag :: Flag RawOpts #

generalflagsgroup1 :: (String, [Flag RawOpts]) #

generalflagsgroup2 :: (String, [Flag RawOpts]) #

generalflagsgroup3 :: (String, [Flag RawOpts]) #

defMode :: Mode RawOpts #

An empty cmdargs mode to use as a template. Modes describe the top-level command, ie the program, or a subcommand, telling cmdargs how to parse a command line and how to generate the command's usage text.

defCommandMode :: [Name] -> Mode RawOpts #

A cmdargs mode suitable for a hledger built-in command with the given names (primary name + optional aliases). The usage message shows [QUERY] as argument.

addonCommandMode :: Name -> Mode RawOpts #

A cmdargs mode representing the hledger add-on command with the given name, providing hledger's common inputreportinghelp flags. Just used when invoking addons.

hledgerCommandMode :: CommandDoc -> [Flag RawOpts] -> [(String, [Flag RawOpts])] -> [Flag RawOpts] -> ([Arg RawOpts], Maybe (Arg RawOpts)) -> Mode RawOpts #

Build a cmdarg mode for a hledger command, from a help template and flag/argument specifications. Reduces boilerplate a little, though the complicated cmdargs flag and argument specs are still required.

argsFlag :: FlagHelp -> Arg RawOpts #

showModeUsage :: Mode a -> String #

Get a mode's usage message as a nicely wrapped string.

withAliases :: String -> [String] -> String #

Add command aliases to the command's help string.

likelyExecutablesInPath :: IO [String] #

Get all sorted unique filenames in the current user's PATH. We do not currently filter out non-file objects or files without execute permission.

hledgerExecutablesInPath :: IO [String] #

Get the sorted unique filenames of all hledger-* executables in the current user's PATH. These are files in any of the PATH directories, named hledger-*, with either no extension (and no periods in the name) or one of the addonExtensions. We do not currently filter out non-file objects or files without execute permission.

ensureDebugHasArg :: (Eq (t Char), IsString (t Char), Foldable t) => [t Char] -> [t Char] #

Convert an argument-less --debug flag to --debug=1 in the given arguments list. Used by hledgeruiweb to make their command line parsing easier somehow.

defcliopts :: CliOpts #

getHledgerCliOpts :: Mode RawOpts -> IO CliOpts #

getHledgerCliOpts' :: Mode RawOpts -> [String] -> IO CliOpts #

A helper for addon commands: this parses options and arguments from the current command line using the given hledger-style cmdargs mode, and returns a CliOpts. Or, with --help or -h present, it prints long or short help, and exits the program. When --debug is present, also prints some debug output. Note this is not used by the main hledger executable.

The help texts are generated from the mode. Long help includes the full usage description generated by cmdargs (including all supported options), framed by whatever pre- and postamble text the mode specifies. It's intended that this forms a complete help document or manual.

Short help is a truncated version of the above: the preamble and the first part of the usage, up to the first line containing "flags:" (normally this marks the start of the common hledger flags); plus a mention of --help and the (presumed supported) common hledger options not displayed.

Tips: Empty lines in the pre/postamble are removed by cmdargs; add a space character to preserve them.

rawOptsToCliOpts :: RawOpts -> IO CliOpts #

Parse raw option string values to the desired final data types. Any relative smart dates will be converted to fixed dates based on today's date. Parsing failures will raise an error. Also records the terminal width, if supported.

outputFormats :: [String] #

defaultOutputFormat :: String #

journalFilePathFromOpts :: CliOpts -> IO [String] #

Get the (tilde-expanded, absolute) journal file path from 1. options, 2. an environment variable, or 3. the default. Actually, returns one or more file paths. There will be more than one if multiple -f options were provided. File paths can have a READER: prefix naming a reader/data format.

rulesFilePathFromOpts :: CliOpts -> IO (Maybe FilePath) #

Get the (tilde-expanded) rules file path from options, if any.

outputFileFromOpts :: CliOpts -> IO (Maybe FilePath) #

Get the expanded, absolute output file path specified by an -o/--output-file options, or nothing, meaning stdout.

outputFormatFromOpts :: CliOpts -> String #

Get the output format from the --output-format option, otherwise from a recognised file extension in the --output-file option, otherwise the default (txt).

defaultWidth :: Int #

Default width for hledger console output, when not otherwise specified.

replaceNumericFlags :: [String] -> [String] #

Replace any numeric flags (eg -2) with their long form (--depth 2), as I'm guessing cmdargs doesn't support this directly.

registerWidthsFromOpts :: CliOpts -> (Int, Maybe Int) #

Get the width in characters to use for the register command's console output, and also the description column width if specified (following the main width, comma-separated). The widths will be as follows: `no --width flag - overall width is the available width (COLUMNS, or posix terminal width, or 80); description width is unspecified (auto) --width W - overall width is W, description width is auto --width W,D - overall width is W, description width is D` Will raise a parse error for a malformed --width argument.

hledgerAddons :: IO [String] #

Get the sorted unique canonical names of hledger addon commands found in the current user's PATH. These are used in command line parsing and to display the commands list.

Canonical addon names are the filenames of hledger-* executables in PATH, without the "hledger-" prefix, and without the file extension except when it's needed for disambiguation (see below).

When there are exactly two versions of an executable (same base name, different extensions) that look like a source and compiled pair (one has .exe, .com, or no extension), the source version will be excluded (even if it happens to be newer). When there are three or more versions (or two versions that don't look like a source/compiled pair), they are all included, with file extensions intact.

topicForMode :: Mode a -> Topic #

Get the most appropriate documentation topic for a mode. Currently, that is either the hledger, hledger-ui or hledger-web manual.

printHelpForTopic :: Tool -> Maybe Topic -> IO () #

Print plain text help for this tool. Takes an optional topic argument for convenience but it is currently ignored.

runManForTopic :: Tool -> Maybe Topic -> IO () #

Display a man page for this tool, scrolled to the given topic if provided, using the "man" executable in $PATH. Note when a topic is provided we force man to use the "less" executable in $PATH, ignoring $MANPAGER and $PAGER.

runInfoForTopic :: Tool -> Maybe Topic -> IO () #

Display an info manual for this topic, opened at the given topic if provided, using the "info" executable in $PATH.

runPagerForTopic :: Tool -> Maybe Topic -> IO () #

Display plain text help for this tool, scrolled to the given topic if provided, using the given pager executable. Note when a topic is provided we ignore the provided pager and use the "less" executable in $PATH.

unsupportedOutputFormatError :: String -> String #

Standard error message for a bad output format specified with -O/-o.

withJournalDo :: CliOpts -> (Journal -> IO a) -> IO a #

Parse the user's specified journal file(s) as a Journal, maybe apply some transformations according to options, and run a hledger command with it. Or, throw an error.

writeOutputLazyText :: CliOpts -> Text -> IO () #

Write some output to stdout or to a file selected by --output-file. If the file exists it will be overwritten. This function operates on Lazy Text values.

journalTransform :: CliOpts -> Journal -> Journal #

Apply some extra post-parse transformations to the journal, if specified by options. These happen after journal validation, but before report calculation. They include:

- adding forecast transactions (--forecast)
- pivoting account names (--pivot)
- anonymising (--anonymise).

This will return an error message if the query in any auto posting rule fails to parse, or the generated transactions are not balanced.

journalReload :: CliOpts -> ExceptT String IO Journal #

Re-read the journal file(s) specified by options, applying any transformations specified by options. Or return an error string. Reads the full journal, without filtering.

journalReloadIfChanged :: CliOpts -> Day -> Journal -> ExceptT String IO (Journal, Bool) #

Re-read the option-specified journal file(s), but only if any of them has changed since last read. (If the file is standard input, this will either do nothing or give an error, not tested yet). Returns a journal or error message, and a flag indicating whether it was re-read or not. Like withJournalDo and journalReload, reads the full journal, without filtering.

journalFileIsNewer :: Journal -> FilePath -> IO Bool #

Has the specified file changed since the journal was last read ? Typically this is one of the journal's journalFilePaths. These are not always real files, so the file's existence is tested first; for non-files the answer is always no.

openBrowserOn :: String -> IO ExitCode #

Attempt to open a web browser on the given url, all platforms.

writeFileWithBackup :: FilePath -> String -> IO () #

Back up this file with a (incrementing) numbered suffix, then overwrite it with this new text, or give an error.

writeFileWithBackupIfChanged :: FilePath -> Text -> IO Bool #

Back up this file with a (incrementing) numbered suffix then overwrite it with this new text, or give an error, but only if the text is different from the current file contents, and return a flag indicating whether we did anything.

The given text should have unix line endings (n); the existing file content will be normalised to unix line endings before comparing the two. If the file is overwritten, the new file will have the current system's native line endings (n on unix, rn on windows). This could be different from the file's previous line endings, if working with a DOS file on unix or vice-versa.

readFileStrictly :: FilePath -> IO Text #

pivotByOpts :: CliOpts -> Journal -> Journal #

Apply the pivot transformation on a journal, if option is present.

anonymiseByOpts :: CliOpts -> Journal -> Journal #

Apply the anonymisation transformation on a journal, if option is present

journalSimilarTransaction :: CliOpts -> Journal -> Text -> Maybe Transaction #

postingsOrTransactionsReportAsText :: Bool -> CliOpts -> (Int -> Int -> (a, [WideBuilder], [WideBuilder]) -> Builder) -> (a -> MixedAmount) -> (a -> MixedAmount) -> [a] -> Builder #

Render a `PostingsReport` or `AccountTransactionsReport` as Text, determining the appropriate starting widths and increasing as necessary.

tests_Cli_Utils :: TestTree #

splitFileName :: FilePath -> (String, String) #

takeDirectory :: FilePath -> FilePath #

argsToCliOpts :: [String] -> [String] -> IO CliOpts #

Parse hledger CLI options from these command line arguments and add-on command names, or raise any error.

packageversion :: PackageVersion #

The "1.31" string defined with -D in this package's package.yaml/.cabal file (by Shake setversion), if any. Normally a dotted number string with 1-3 components.

progname :: ProgramName #

The name of this package's main executable.

versionStringWith :: Either String GitInfo -> ProgramName -> PackageVersion -> VersionString #

Given possible git state info from the build directory (or an error message, which is ignored), the name of a program (executable) in the currently building package, and the package's version, make a complete version string. Here is the logic:

- Program name, OS and architecture are always shown.
- The package version is always shown.
- If there is git info at build time, the latest commit hash and commit date are shown, and (TODO, requires githash to use -uno for giDirty): if the working copy has uncommitted changes a + sign is appended.
- (TODO, requires adding --match support to githash: If there are tags matching THISPKG-[0-9]*, the latest one is used to calculate patch level (number of commits since tag), and if non-zero, it and the branch name are shown.)

Some example outputs:

- A homebrew binary, not built in git repo: hledger-ui 1.24, mac-aarch64
- A CI release build, built in git repo at release tag: hledger-ui 1.24.1-g455b35293-20211210, mac-x86_64
- (TODO) A dev build, built in git repo: hledger-ui 1.24.1+1-g4abd8ef10-20211210 (1.24-branch), mac-x86_64

This function requires git log to show the default (rfc2822-style) date format, so that must not be overridden by a log.date git config variable.

testcmd :: CliOpts -> Journal -> IO () #

The test command, which runs the hledger and hledger-lib packages' unit tests. This command also accepts tasty test runner options, written after a -- (double hyphen).

Unlike most hledger commands, this one does not read the user's journal. A `Journal` argument remains in the type signature, but it should not be used (and would raise an error).

builtinCommands :: [(Mode RawOpts, CliOpts -> Journal -> IO ())] #

The cmdargs subcommand mode (for command-line parsing) and IO action (for doing the command's work) for each builtin command. Command actions take parsed CLI options and a (lazy) finalised journal.

builtinCommandNames :: [String] #

All names and aliases of the builtin commands.

findBuiltinCommand :: String -> Maybe (Mode RawOpts, CliOpts -> Journal -> IO ()) #

Look up a builtin command's mode and action by exact command name or alias.

knownAddonCommands :: [String] #

Canonical names of the known addon commands which have a slot in the commands list, in alphabetical order.

knownCommands :: [String] #

Canonical names of all commands which have a slot in the commands list, in alphabetical order. These include the builtin commands and the known addon commands.

printCommandsList :: String -> [String] -> IO () #

Print the commands list, with a pager if appropriate, customising the commandsList template above with the given version string and the installed addons. Uninstalled known addons will be removed from the list, installed known addons will have the + prefix removed, and installed unknown addons will be added under Misc.

tests_Hledger_Cli :: TestTree #

accountsmode :: Mode RawOpts #

Command line options for this command.

accounts :: CliOpts -> Journal -> IO () #

The accounts command.

activitymode :: Mode RawOpts #

addmode :: Mode RawOpts #

appendToJournalFileOrStdout :: FilePath -> Text -> IO () #

Append a string, typically one or more transactions, to a journal file, or if the file is "-", dump it to stdout. Tries to avoid excess whitespace.

XXX This writes unix line endings (n), some at least, even if the file uses dos line endings (rn), which could leave mixed line endings in the file. See also writeFileWithBackupIfChanged.

journalAddTransaction :: Journal -> CliOpts -> Transaction -> IO Journal #

Append this transaction to the journal's file and transaction list.

postingsReportAsText :: CliOpts -> PostingsReport -> Text #

Render a register report as plain text suitable for console output.

aregistermode :: Mode RawOpts #

aregister :: CliOpts -> Journal -> IO () #

Print an account register report for a specified account.

tests_Aregister :: TestTree #

balancemode :: Mode RawOpts #

Command line options for this command.

balance :: CliOpts -> Journal -> IO () #

The balance command, prints a balance report.

balanceReportAsText :: ReportOpts -> BalanceReport -> Builder #

Render a single-column balance report as plain text.

balanceReportAsCsv :: ReportOpts -> BalanceReport -> CSV #

Render a single-column balance report as CSV.

balanceReportItemAsText :: ReportOpts -> BalanceReportItem -> (Builder, [Int]) #

Render one balance report line item as plain text suitable for console output (or whatever string format is specified). Note, prices will not be rendered, and differently-priced quantities of the same commodity will appear merged. The output will be one or more lines depending on the format and number of commodities.

multiBalanceRowAsCsvText :: ReportOpts -> [DateSpan] -> PeriodicReportRow a MixedAmount -> [[Text]] #

multiBalanceRowAsTableText :: ReportOpts -> PeriodicReportRow a MixedAmount -> [[WideBuilder]] #

multiBalanceReportAsText :: ReportOpts -> MultiBalanceReport -> Text #

Render a multi-column balance report as plain text suitable for console output.

multiBalanceReportAsCsv :: ReportOpts -> MultiBalanceReport -> CSV #

Render a multi-column balance report as CSV. The CSV will always include the initial headings row, and will include the final totals row unless --no-total is set.

multiBalanceReportAsHtml :: ReportOpts -> MultiBalanceReport -> Html () #

Render a multi-column balance report as HTML.

multiBalanceReportHtmlRows :: ReportOpts -> MultiBalanceReport -> (Html (), [Html ()], [Html ()]) #

Render the HTML table rows for a MultiBalanceReport. Returns the heading row, 0 or more body rows, and the totals row if enabled.

multiBalanceReportHtmlFootRow :: ReportOpts -> [Text] -> Html () #

Render one MultiBalanceReport totals row as a HTML table row.

balanceReportAsTable :: ReportOpts -> MultiBalanceReport -> Table Text Text WideBuilder #

Build a `Table` from a multi-column balance report.

tests_Balance :: TestTree #

balancesheetmode :: Mode RawOpts #

balancesheet :: CliOpts -> Journal -> IO () #

balancesheetequitymode :: Mode RawOpts #

balancesheetequity :: CliOpts -> Journal -> IO () #

cashflowmode :: Mode RawOpts #

cashflow :: CliOpts -> Journal -> IO () #

closemode :: Mode RawOpts #

codesmode :: Mode RawOpts #

Command line options for this command.

codes :: CliOpts -> Journal -> IO () #

The codes command.

commoditiesmode :: Mode RawOpts #

Command line options for this command.

commodities :: CliOpts -> Journal -> IO () #

demomode :: Mode RawOpts #

Command line options for this command.

demo :: CliOpts -> Journal -> IO () #

The demo command.

descriptionsmode :: Mode RawOpts #

Command line options for this command.

descriptions :: CliOpts -> Journal -> IO () #

The descriptions command.

diffmode :: Mode RawOpts #

Command line options for this command.

helpmode :: Mode RawOpts #

help' :: CliOpts -> Journal -> IO () #

Display the hledger manual in various formats. You can select a docs viewer with one of the `--info`, `--man`, `--pager` flags. Otherwise it will use the first available of: info, man, $PAGER, less, stdout (and always stdout if output is non-interactive).

importmode :: Mode RawOpts #

importcmd :: CliOpts -> Journal -> IO () #

incomestatementmode :: Mode RawOpts #

incomestatement :: CliOpts -> Journal -> IO () #

notesmode :: Mode RawOpts #

Command line options for this command.

notes :: CliOpts -> Journal -> IO () #

The notes command.

payeesmode :: Mode RawOpts #

Command line options for this command.

payees :: CliOpts -> Journal -> IO () #

The payees command.

pricesmode :: Mode RawOpts #

prices :: CliOpts -> Journal -> IO () #

printmode :: Mode RawOpts #

print' :: CliOpts -> Journal -> IO () #

Print journal transactions in standard format.

transactionWithMostlyOriginalPostings :: Transaction -> Transaction #

Replace this transaction's postings with the original postings if any, but keep the current possibly rewritten account names, and the inferred values of any auto postings. This is mainly for showing transactions with the amounts in their original journal format.

registermode :: Mode RawOpts #

postingsReportItemAsText :: CliOpts -> Int -> Int -> (PostingsReportItem, [WideBuilder], [WideBuilder]) -> Builder #

Render one register report line item as plain text. Layout is like so: `width (specified, terminal width, or 80) -------------------- date (10) description account amount (12) balance (12) DDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaa AAAAAAAAAAAA AAAAAAAAAAAA` If description's width is specified, account will use the remaining space. Otherwise, description and account divide up the space equally.

With a report interval, the layout is like so: `width (specified, terminal width, or 80) -------------------- date (21) account amount (12) balance (12) DDDDDDDDDDDDDDDDDDDDD aaaaaaaaaaaaaaaaaaaaaaaaaaaaa AAAAAAAAAAAA AAAAAAAAAAAA`

date and description are shown for the first posting of a transaction only.

Returns a string which can be multi-line, eg if the running balance has multiple commodities. Does not yet support formatting control like balance reports.

Also returns the natural width (without padding) of the amount and balance fields.

tests_Register :: TestTree #

rewritemode :: Mode RawOpts #

rewrite :: CliOpts -> Journal -> IO () #

statsmode :: Mode RawOpts #

stats :: CliOpts -> Journal -> IO () #

Print various statistics for the journal.

tagsmode :: Mode RawOpts #

tags :: CliOpts -> Journal -> IO () #

parseTimeMultipleM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> [(String, String)] -> m t #

periodAllDays :: DayPeriod p => p -> [Day] #

periodFromDay :: DayPeriod p => Day -> (p, Int) #

periodLength :: DayPeriod p => p -> Int #

periodToDay :: DayPeriod p => p -> Int -> Day #

periodToDayValid :: DayPeriod p => p -> Int -> Maybe Day #

isPathSeparator :: Char -> Bool #

isRelative :: FilePath -> Bool #

normalise :: FilePath -> FilePath #

splitExtension :: FilePath -> (String, String) #

takeBaseName :: FilePath -> String #

takeExtension :: FilePath -> String #

addExtension :: FilePath -> String -> FilePath #

makeRelative :: FilePath -> FilePath -> FilePath #

(-<.>) :: FilePath -> String -> FilePath #

addTrailingPathSeparator :: FilePath -> FilePath #

dropDrive :: FilePath -> FilePath #

dropExtension :: FilePath -> FilePath #

dropExtensions :: FilePath -> FilePath #

dropFileName :: FilePath -> FilePath #

dropTrailingPathSeparator :: FilePath -> FilePath #

equalFilePath :: FilePath -> FilePath -> Bool #

extSeparator :: Char #

getSearchPath :: IO [FilePath] #

hasDrive :: FilePath -> Bool #

hasExtension :: FilePath -> Bool #

hasTrailingPathSeparator :: FilePath -> Bool #

isAbsolute :: FilePath -> Bool #

isDrive :: FilePath -> Bool #

isExtSeparator :: Char -> Bool #

isExtensionOf :: String -> FilePath -> Bool #

isSearchPathSeparator :: Char -> Bool #

isValid :: FilePath -> Bool #

joinDrive :: FilePath -> FilePath -> FilePath #

joinPath :: [FilePath] -> FilePath #

makeValid :: FilePath -> FilePath #

pathSeparator :: Char #

pathSeparators :: [Char] #

replaceBaseName :: FilePath -> String -> FilePath #

replaceDirectory :: FilePath -> String -> FilePath #

replaceExtension :: FilePath -> String -> FilePath #

replaceExtensions :: FilePath -> String -> FilePath #

replaceFileName :: FilePath -> String -> FilePath #

searchPathSeparator :: Char #

splitDirectories :: FilePath -> [FilePath] #

splitDrive :: FilePath -> (FilePath, FilePath) #

splitExtensions :: FilePath -> (FilePath, String) #

splitPath :: FilePath -> [FilePath] #

splitSearchPath :: String -> [FilePath] #

stripExtension :: String -> FilePath -> Maybe FilePath #

takeDrive :: FilePath -> FilePath #

takeExtensions :: FilePath -> String #

takeFileName :: FilePath -> FilePath #

weekAllDays :: DayOfWeek -> Day -> [Day] #

weekFirstDay :: DayOfWeek -> Day -> Day #

weekLastDay :: DayOfWeek -> Day -> Day #

barchar :: Char #

activity :: CliOpts -> Journal -> IO () #

Print a bar chart of number of postings per report interval.

showHistogram :: ReportSpec -> Journal -> String #

printDayWith :: (PrintfArg t1, PrintfType t2) => (t3 -> t1) -> (DateSpan, t3) -> t2 #

countBar :: Foldable t => t a -> [Char] #