Commit Graph

55 Commits

Author SHA1 Message Date
Simon Michael
7d1c01ec8a consistent lower-case aliases for working with Ledgers, and examples 2009-04-04 22:38:18 +00:00
Simon Michael
1572622ae6 use a consistent prefix for Transaction field accessors 2009-04-04 21:26:55 +00:00
Simon Michael
622db5f25d datespan utils 2009-04-04 11:19:15 +00:00
Simon Michael
ca16e98655 haddock 2009-04-04 23:15:42 +00:00
Simon Michael
4c9f0e5d9e more haddock cleanups 2009-04-04 22:38:36 +00:00
Simon Michael
1ef777a1b8 improve type docs 2009-04-03 20:55:49 +00:00
Simon Michael
0f1cbef9a8 namegeddon! conform to new terminology in ledger 3, more or less
This renames RawTransaction -> Posting and Entry -> LedgerTransaction,
plus a bunch more cleanups for consistency.  So while ledger 3 has
transactions containing postings, and so do we when speaking to users,
internally we call ledger 3's transactions LedgerTransaction, and we keep
our old Transaction type as well, because it's useful and used all over
the place. To review:

- ledger 2 had Entrys containing Transactions.

- hledger 0.4 had Entrys containing RawTransactions, and Transactions
  which are a RawTransaction with its parent Entry's info added.
  Transactions are what we most work with when reporting and are
  ubiquitous in the code and docs.

- ledger 3 has Transactions containing Postings.

- hledger 0.5 now has LedgerTransactions containing Postings, with
  Transactions kept as before (a Posting plus it's parent's info).  These
  could be named PartialTransactions or TransactionPostings, but it gets
  too verbose and obscure for devs and users.
2009-04-03 10:58:05 +00:00
Simon Michael
f7b2e62bcb cacheLedger cleanup 2009-03-17 19:50:43 +00:00
Simon Michael
2dac5754c7 subAccounts test and bugfix 2009-03-15 04:06:10 +00:00
Simon Michael
6f6ce11ca8 more balance-calculating extraction 2008-12-05 08:26:13 +00:00
Simon Michael
eca112f7d4 extract common balance-calculating code 2008-12-05 05:09:54 +00:00
Simon Michael
76df6ec88f optimise cacheLedger by using the tree to help calculate account balances
from:

	total time  =        0.14 secs   (7 ticks @ 20 ms)
	total alloc = 275,520,536 bytes  (excludes profiling overheads)

     cacheLedger                                     1   0.0    0.1      42.9       48.6
      sumTransactions                                0   0.0    0.6      28.6       42.5
       isZeroAmount                              13529   0.0    2.0      14.3       39.2
        showAmount                               13529   0.0    7.2      14.3       37.2
         showAmount'                             13529  14.3   29.9      14.3       29.9
         con2tag_Side#                           27232   0.0    0.0       0.0        0.0
       normaliseMixedAmount                       6733   0.0    1.8      14.3        2.7
        con2tag_Side#                              120   0.0    0.0       0.0        0.0
        sumAmountsPreservingPrice                 6803   0.0    0.2      14.3        1.0
         amountop                                13351   0.0    0.4      14.3        0.8
          convertAmountTo                        13351  14.3    0.4      14.3        0.4
           conversionRate                        13351   0.0    0.0       0.0        0.0
      isAccountNamePrefixOf                      25122   0.0    2.0       0.0        2.0

to:

	total time  =        0.08 secs   (4 ticks @ 20 ms)
	total alloc = 168,637,964 bytes  (excludes profiling overheads)

     cacheLedger                                     1   0.0    0.1       0.0       27.1
      sumTransactions                                0   0.0    0.3       0.0       18.8
       isZeroAmount                               3931   0.0    0.9       0.0       17.3
        showAmount                                3931   0.0    3.4       0.0       16.3
         showAmount'                              3931   0.0   12.9       0.0       12.9
         con2tag_Side#                            7884   0.0    0.0       0.0        0.0
       normaliseMixedAmount                       1964   0.0    0.8       0.0        1.3
        con2tag_Side#                               12   0.0    0.0       0.0        0.0
        sumAmountsPreservingPrice                 1970   0.0    0.1       0.0        0.5
         amountop                                 3793   0.0    0.2       0.0        0.4
          convertAmountTo                         3793   0.0    0.2       0.0        0.2
           conversionRate                         3793   0.0    0.0       0.0        0.0
2008-12-05 03:31:45 +00:00
Simon Michael
a51596899f a cached ledger now includes the full ledger text, also.
This reads the file twice, since I couldn't figure out how to do it just
once with the new error monad.. fixes welcome.
2008-12-10 07:29:08 +00:00
Simon Michael
5e9f9e530a better register summarising with --depth and -E support, datespan splitting bugfix 2008-12-04 19:29:29 +00:00
Simon Michael
41a3fb91d5 support reporting intervals in period expressions and register report, and -W/-M/-D 2008-12-03 23:20:38 +00:00
Simon Michael
c46189a75b filter by account patterns when caching a ledger, fix balance report totals 2008-11-22 05:51:48 +00:00
Simon Michael
47cf7c3eb6 gather match functions in one place 2008-11-22 05:48:56 +00:00
Simon Michael
80beac7d43 try making MixedAmount a full newtype, to avoid TypeSynonymInstances error 2008-10-18 10:38:01 +00:00
Simon Michael
f865ab1c1c code cleanups 2008-10-18 00:52:49 +00:00
Simon Michael
db8b00d6e5 doc update 2008-10-16 03:27:43 +00:00
Simon Michael
c444b02349 a first cut at mixed amounts. Accounts have a MixedAmount balance, displayed on one line 2008-10-17 03:14:23 +00:00
Simon Michael
0cfbced165 and allow parsing of mixed-commodity entries, as long as we don't have to balance them 2008-10-17 03:32:00 +00:00
Simon Michael
5fcab59414 support negative patterns and ledger's special balance report account matching rule 2008-10-15 17:04:47 +00:00
Simon Michael
1e3291af48 focus on tests in Tests.hs, clean up 2008-10-15 06:32:52 +00:00
Simon Michael
7a69efec70 match full account name when (any) account pattern contains :, as ledger seems to 2008-10-15 06:32:42 +00:00
Simon Michael
b1e2a83556 comment update 2008-10-15 00:33:15 +00:00
Simon Michael
4efdda25b4 replace Currency with a more flexible, ledger-style Commodity 2008-10-12 21:52:48 +00:00
Simon Michael
a9f021eebe slightly less verbose Show Ledger 2008-10-12 09:16:04 +00:00
Simon Michael
01cd388c24 remove dead code, simplify cacheLedger again 2008-10-12 07:46:54 +00:00
Simon Michael
c07c149378 type signatures 2008-10-12 06:10:32 +00:00
Simon Michael
2ff9c21b95 more account queries 2008-10-11 04:17:52 +00:00
Simon Michael
2cef939da1 rename accounts/filteraccounts fields to accountmap/filteraccountmap 2008-10-10 22:28:10 +00:00
Simon Michael
37e75d610e more tests cleanup.. prepare for per-module tests, but consolidate in Tests where I think we will stay 2008-10-10 08:16:55 +00:00
Simon Michael
d1dfcafc39 move entry filter functions to RawLedger 2008-10-10 04:23:25 +00:00
Simon Michael
67c203f316 move commands to top-level modules, make Ledger pure (except for Parse) 2008-10-10 03:32:12 +00:00
Simon Michael
cdc5a23192 clean up imports whitespace, minimise explicit intra-app import/export declarations for now 2008-10-10 01:53:39 +00:00
Simon Michael
81ac9bcaa5 remove dead code 2008-10-09 13:16:57 +00:00
Simon Michael
11342db662 simplify filtering, make cacheLedger store filtered data as well, make balance reports work a little better 2008-10-09 13:02:26 +00:00
Simon Michael
b3ba124ce9 more informative show output 2008-10-09 12:59:05 +00:00
Simon Michael
e7cf5df029 update and sync the balance report documentation and sample.ledger 2008-10-09 07:10:25 +00:00
Simon Michael
dff086a69d cleanups 2008-10-08 19:36:22 +00:00
Simon Michael
91802391a1 um.. refactor option handling, filtering, and support -b/-e date filtering options 2008-10-08 17:00:22 +00:00
Simon Michael
48700f323f move raw ledger functions to RawLedger 2008-10-03 12:10:05 +00:00
Simon Michael
2ce3124738 fix failing test 2008-10-03 11:20:49 +00:00
Simon Michael
c76540e348 make balance reports show the total balance when non-zero 2008-10-03 08:24:24 +00:00
Simon Michael
cf194e6b60 rename showLedgerAccounts to showLedgerAccountBalances 2008-10-03 07:47:36 +00:00
Simon Michael
8bcb3c25a4 fully haddockise Ledger 2008-10-03 07:39:09 +00:00
Simon Michael
a7b1269d86 define Ledger's exports 2008-10-03 07:38:46 +00:00
Simon Michael
7acd389624 clarify the two kinds of boring account 2008-10-03 07:36:45 +00:00
Simon Michael
e5834ffe2f minor cleanups.. time to go 2008-10-03 03:38:33 +00:00