Commit Graph

74 Commits

Author SHA1 Message Date
Simon Michael
51a8adf273 regexSplit, ptrace (parsec trace) utilities 2012-12-05 23:49:50 +00:00
Simon Michael
157c85a915 move stripbrackets to Utils 2012-12-04 00:03:42 +00:00
Simon Michael
5c972ef00c more correct debug util name 2012-11-19 21:17:43 +00:00
Simon Michael
d2aa8ca6cb note future debug tools 2012-11-15 17:46:48 +00:00
Simon Michael
5b9c5459be web: make hledger[-lib] compatible with all of yesod's language extensions
Useful when building all of hledger-web at once.
2012-11-14 17:25:02 +00:00
Simon Michael
00f22819ae balance report speedup
This refactoring fixes an O(n^2) slowdown in the balance command with
large numbers of accounts. It's now speedy, and the implementation is
clearer. To facilitate this, the Account type now represents a tree of
accounts which can easily be traversed up or down (and/or flattened
into a list).

Benchmark on a 2010 macbook:

    +-------------------------------------------++--------------+------------+--------+
    |                                           || before:      | after:     |        |
    |                                           || hledger-0.18 | hledgeropt | ledger |
    +===========================================++==============+============+========+
    | -f data/100x100x10.journal     balance    ||         0.21 |       0.07 |   0.09 |
    | -f data/1000x1000x10.journal   balance    ||        10.13 |       0.47 |   0.62 |
    | -f data/1000x10000x10.journal  balance    ||        40.67 |       0.67 |   1.01 |
    | -f data/10000x1000x10.journal  balance    ||        15.01 |       3.22 |   2.36 |
    | -f data/10000x1000x10.journal  balance aa ||         4.77 |       4.40 |   2.33 |
    +-------------------------------------------++--------------+------------+--------+
2012-10-21 17:18:18 +00:00
Simon Michael
0b96a767b4 support tilde (~) in journal and rules file paths 2012-05-30 08:36:01 +00:00
Simon Michael
6ccecb6ae0 stats: list included journal files 2012-05-30 09:17:18 +00:00
Simon Michael
3ee6a351f3 big query/tests/show refactoring
- use new query system for command line too, filterspec is no more
- move unit tests near the code they test, run them in bottom up order, add more
- more precise Show instances, used for debugging not ui
2012-05-27 18:14:20 +00:00
Simon Michael
1654776f4a refactor test runner 2012-05-14 19:23:12 +00:00
Simon Michael
68966fe43b begin cleaning up Dates api, move firstJust 2012-04-16 16:44:41 +00:00
Simon Michael
8492f6cae4 fix unicode handling on GHC >= 7.2, unify utf8 IO compatibility layer
tests pass again from GHC 6.12.3 to 7.4.1
2012-03-29 19:06:31 +00:00
Simon Michael
d4451ce5e3 read system cleanup, require conversion rules from a file to simplify API 2012-03-24 18:08:11 +00:00
Simon Michael
8521c07df7 assertParseFailure 2011-05-31 19:48:55 +00:00
Simon Michael
287eb6bd00 refactor: drop dropws 2011-07-15 21:58:20 +00:00
Simon Michael
f2171c1e02 choice' haddock 2011-07-17 17:16:40 +00:00
Simon Michael
a44aa8d7d2 refactor: remove unnecessary LANGUAGE CPP pragmas 2011-07-17 23:29:57 +00:00
Simon Michael
b783f25fa8 type signature 2011-08-07 22:29:47 +00:00
Simon Michael
20a45c538d also export trace from Hledger.Utils 2011-08-08 01:34:00 +00:00
Simon Michael
fd13689339 missing type signatures 2011-08-08 01:34:21 +00:00
Simon Michael
0cb0c61fcb fix partial isSingleQuoted/isDoubleQuoted functions 2011-08-14 22:38:51 +00:00
Simon Michael
666218dd62 more quoted string splitting/joining utils 2011-08-15 13:58:16 +00:00
Simon Michael
6a185bc51f refactor: abstract regular expression lib 2011-06-05 18:31:19 +00:00
Simon Michael
5084280879 imports, api cleanup 2011-05-28 04:11:44 +00:00