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