hledger/hledger-lib/Hledger
Stephen Morgan 80cf1d1995 !dev: lib: Allow Account to store date-indexed balances.
This upgrades Account to enable it to store a multiperiod balance, with
a separate balance for each date period. This enables it do the hard
work in MultiBalanceReport.

Some new types are created to enable convenient operation of accounts.
- `BalanceData` is a type which stores an exclusive balance, inclusive
  balance, and number of postings. This was previously directly stored
  in Account, but is now factored into a separate data type.
- `PeriodData` is a container which stores date-indexed data, as well as
  pre-period data. In post cases, this represents the report spans,
  along with the historical data.
- Account becomes polymorphic, allowing customisation of the type of
  data it stores. This will usually be `BalanceData`, but in
  `BudgetReport` it can use `These BalanceData BalanceData` to store
  both actuals and budgets in the same structure. The data structure
  changes to contain a `PeriodData`, allowing multiperiod accounts.

Some minor changes are made to behaviour for consistency:
- --declared treats parent accounts consistently.
- --flat --empty ensures that implied accounts with no postings are not displayed, but
  accounts with zero balance and actual postings are.
2025-06-04 23:10:00 -10:00
..
Data !dev: lib: Allow Account to store date-indexed balances. 2025-06-04 23:10:00 -10:00
Read imp:csv: more --debug=2 output for if rules 2025-05-22 17:05:45 -10:00
Reports !dev: lib: Allow Account to store date-indexed balances. 2025-06-04 23:10:00 -10:00
Utils fix: make a few more error messages consistent, hiding call stack [#2367] 2025-06-03 10:10:04 -10:00
Write dev: refactor Hledger.Write.Html etc, reducing Lucid references 2025-01-25 11:53:51 -10:00
Data.hs !dev: lib: Allow Account to store date-indexed balances. 2025-06-04 23:10:00 -10:00
Query.hs lib:Hledger.Query: queryIsAmtOrSym 2025-06-03 18:44:08 -10:00
Read.hs imp:lib:Hledger.Utils.Debug: simpler, more consistent dbg* names 2025-05-21 22:54:00 -10:00
Reports.hs cln: tests: Remove test and tests, which are just aliases for testCase 2021-08-30 16:32:19 -10:00
Utils.hs dev: fix warnings with ghc 9.10 / base 4.20 2024-09-30 17:20:13 -10:00