Simon Michael
ee2ced7f65
set an upper bound on megaparsec
2016-10-26 13:34:27 -07:00
Simon Michael
5aa4c91332
stack/cabal cleanups; drop GHC 7.6, 7.8 support
...
A (disabled) stack build plan for GHC 7.8 is included; supporting it
would need small code changes and a maintainer.
2016-10-21 14:47:22 -07:00
Simon Michael
15ebae5c5f
lib, cli, web: try to fix building with GHC 7.4
2016-08-09 12:22:38 -07:00
Simon Michael
c3b76221d4
pkg: rename terminfo flag, drop pretty-show conditionals
2016-08-09 12:16:24 -07:00
Simon Michael
9ad7f2f7e4
pkg: drop unused double flag
2016-08-09 12:04:19 -07:00
Simon Michael
cf8ebd4ae2
pkg: rename, clean up oldtime flag
2016-08-09 12:03:23 -07:00
Simon Michael
1b65582908
pkg: clean up deps slightly
2016-08-09 12:02:57 -07:00
Simon Michael
570de3a0a5
format package descriptions more nicely
2016-08-09 11:29:17 -07:00
Simon Michael
0302be1b15
tools: fix tested-with in package.yamls
2016-08-09 07:57:30 -07:00
Simon Michael
d165600155
lib, cli, web, api: use hpack (package.yaml) for all packages at last #371
...
Generated package.yaml files from the old cabal files with hpack-convert,
removed some problematic blank lines manually,
regenerated the cabal files from the package.yaml files with hpack.
Tests pass, looks like all the info is still there.
This means that from now on, we don't edit cabal files directly.
We edit the less verbose package.yaml files. stack will update
the cabal files automatically (or non-stack users can use hpack).
The changes to both are committed, as we still want to provide
the cabal files to downloaders.
2016-08-09 07:24:57 -07:00
Simon Michael
7d81adcefa
lib: use Period for rendering DateSpans
2016-07-29 11:41:42 -07:00
Simon Michael
b7071dee84
lib: use Data.Default directly, not via cmdargs
2016-07-29 10:15:48 -07:00
Moritz Kiefer
4141067428
Replace Parsec with Megaparsec (see #289 ) ( #366 )
...
* Replace Parsec with Megaparsec (see #289 )
This builds upon PR #289 by @rasendubi
* Revert renaming of parseWithState to parseWithCtx
* Fix doctests
* Update for Megaparsec 5
* Specialize parser to improve performance
* Pretty print errors
* Swap StateT and ParsecT
This is necessary to get the correct backtracking behavior, i.e. discard
state changes if the parsing fails.
2016-07-29 08:57:10 -07:00
Simon Michael
a216c7216a
lib: search all .hs files for doctests
2016-06-06 19:45:59 -07:00
Simon Michael
a961988a88
bump cabal versions to 0.28
2016-05-29 00:00:59 -07:00
Simon Michael
cdc323d05b
Revert "lib: allow transformers 0.5.* ( #351 )"
...
A bump too far.
This reverts commit fa7878278a .
2016-05-26 12:23:57 -07:00
Simon Michael
fa7878278a
lib: allow transformers 0.5.* ( #351 )
2016-05-26 11:58:47 -07:00
Simon Michael
2538d14ea7
lib: textification begins! account names
...
The first of several conversions from String to (strict) Text, hopefully
reducing space and time usage.
This one shows a small improvement, with GHC 7.10.3 and text-1.2.2.1:
hledger -f data/100x100x10.journal stats
string: <<ghc: 39471064 bytes, 77 GCs, 198421/275048 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.001 elapsed), 0.015 MUT (0.020 elapsed), 0.010 GC (0.014 elapsed) :ghc>>
text: <<ghc: 39268024 bytes, 77 GCs, 197018/270840 avg/max bytes residency (3 samples), 2M in use, 0.000 INIT (0.002 elapsed), 0.016 MUT (0.022 elapsed), 0.009 GC (0.011 elapsed) :ghc>>
hledger -f data/1000x100x10.journal stats
string: <<ghc: 318555920 bytes, 617 GCs, 2178997/7134472 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.001 elapsed), 0.129 MUT (0.136 elapsed), 0.067 GC (0.077 elapsed) :ghc>>
text: <<ghc: 314248496 bytes, 612 GCs, 2074045/6617960 avg/max bytes residency (7 samples), 16M in use, 0.000 INIT (0.003 elapsed), 0.137 MUT (0.145 elapsed), 0.067 GC (0.079 elapsed) :ghc>>
hledger -f data/10000x100x10.journal stats
string: <<ghc: 3114763608 bytes, 6026 GCs, 18858950/75552024 avg/max bytes residency (11 samples), 201M in use, 0.000 INIT (0.000 elapsed), 1.331 MUT (1.372 elapsed), 0.699 GC (0.812 elapsed) :ghc>>
text: <<ghc: 3071468920 bytes, 5968 GCs, 14120344/62951360 avg/max bytes residency (9 samples), 124M in use, 0.000 INIT (0.003 elapsed), 1.272 MUT (1.349 elapsed), 0.513 GC (0.578 elapsed) :ghc>>
hledger -f data/100000x100x10.journal stats
string: <<ghc: 31186579432 bytes, 60278 GCs, 135332581/740228992 avg/max bytes residency (13 samples), 1697M in use, 0.000 INIT (0.008 elapsed), 14.677 MUT (15.508 elapsed), 7.081 GC (8.074 elapsed) :ghc>>
text: <<ghc: 30753427672 bytes, 59763 GCs, 117595958/666457240 avg/max bytes residency (14 samples), 1588M in use, 0.000 INIT (0.008 elapsed), 13.713 MUT (13.966 elapsed), 6.220 GC (7.108 elapsed) :ghc>>
2016-05-24 19:00:49 -07:00
Simon Michael
ea383d88d6
lib: drop "double" build flag
2016-05-18 20:32:58 -07:00
Simon Michael
84097b75c7
journal: can now include timeclock/timedot files ( #320 )
...
journal files can now include journal, timeclock or timedot files (but
not yet CSV files). Also timeclock/timedot files no longer support
default year directives.
The Hledger.Read.* modules have been reorganised for better reuse.
Hledger.Read.Utils has been renamed Hledger.Read.Common and holds
low-level parsers & utilities; high-level read utilities have moved to
Hledger.Read.
2016-05-17 19:46:54 -07:00
Simon Michael
7ec3ebb66b
update tested-with
...
Note we seem to have lost GHC 7.4 compatibility. It should be fixable if
anyone cares.
2016-04-28 17:32:17 -07:00
Simon Michael
259e7bfbe3
lib: add a doctest suite
2016-04-28 13:34:57 -07:00
Simon Michael
50aeb90596
lib, ui: GHC 8 compatibility
2016-04-28 12:55:19 -07:00
Simon Michael
91847fc6fd
data-files does not support wildcards after all
2016-04-20 13:23:05 -07:00
Simon Michael
33b5c5dc94
declare generated docs as data-files, sync hpack yamls
2016-04-20 12:47:17 -07:00
Simon Michael
b73bcda52a
include txt man pages in cabal tarballs
2016-04-13 22:38:53 -07:00
Simon Michael
588f36d662
rename timelog format to timeclock
2016-04-12 21:13:19 -07:00
Simon Michael
b4d491791c
doc: include nroff man pages in cabal tarballs
2016-04-12 11:25:46 -07:00
Simon Michael
5e71d749c4
doc: ensure all five main packages have a README
2016-04-12 11:13:01 -07:00
Simon Michael
1cf223a2db
lib: finish move of reading utils, useful for 320
...
It seems this already began in today's timedot commit.
2016-02-19 21:37:12 -08:00
Simon Michael
06b54bf05e
lib: timedot format, convenient for time logging
...
Timedot is a plain text format for logging dated, categorised
quantities (eg time), supported by hledger. It is convenient for
approximate and retroactive time logging, eg when the real-time
clock-in/out required with a timeclock file is too precise or too
interruptive. It can be formatted like a bar chart, making clear at a
glance where time was spent.
2016-02-19 17:55:57 -08:00
Simon Michael
a5fd56223c
bump version to 0.27
2015-10-30 13:21:51 -07:00
Simon Michael
36d97a2e50
update cabal docs and other fields
2015-10-30 13:08:03 -07:00
Simon Michael
f8f2d457b9
lib: memoize toRegex[CI] ( #244 )
...
The regex helpers were converting strings to regex-tdfa regular
expressions on the fly every time, but this appears to be quite
expensive. The simplest memoisation lib seems to solve it nicely.
2015-09-26 15:39:21 -10:00
Simon Michael
6fd1e965ed
fix cabal file regression breaking GHC<7.10 ( #280 )
2015-08-21 12:19:43 -07:00
Simon Michael
7aecbac851
lib: split up Utils more
2015-08-19 20:53:50 -07:00
Simon Michael
36dd64cf02
balance, lib: clarify --format implementation
...
The --format option's OutputFormat type was named confusingly like the
--output-format option. It has been renamed StringFormat to distinguish
it from StorageFormat (aka the data file format, referenced by
--output-format). Related code and types have been consolidated.
Also the (single-column) balance report's item rendering has had
some cleanup.
2015-08-19 20:53:49 -07:00
Simon Michael
2b339667e2
Merge branch 'perf-polyparse' (early part)
2015-08-13 13:10:10 -07:00
Simon Michael
632a000f08
derive NFData in a way compatible with GHC < 7.10
...
The DeriveAnyClass extension requires GHC 7.10, so instead do this in a
more verbose backwards-compatible way. Adds a dependency on deepseq.
2015-08-13 12:58:44 -07:00
Simon Michael
48e31d4f8c
bump version to 0.26.98
2015-08-12 22:49:04 -07:00
Simon Michael
a9b2e5409c
switch to hpack-generated cabal files
...
The hledger-lib, hledger and hledger-web cabal files are now generated
from the package.yaml files with hpack, plus some manual fixups.
2015-08-12 22:45:08 -07:00
Simon Michael
087f3a49bc
note older tested-with versions based on hackage builder
2015-07-13 20:23:59 -07:00
Simon Michael
e5c0d75117
bump version to 0.26
2015-07-12 15:29:10 -07:00
Simon Michael
9e2111106b
drop regexpr dependency
2015-05-17 08:32:45 -07:00
Simon Michael
61423bdad4
consistently require latest base-compat for sanity
2015-04-29 07:16:08 -07:00
Simon Michael
dac8a784f4
bump version to 0.26 alpha
2015-04-28 13:48:23 -07:00
Simon Michael
1bc9b71f28
bump version to 0.25
2015-04-28 13:42:41 -07:00
Simon Hengel
964a410b24
hledger-lib: Update for base-compat-0.8.0 (see #245 )
2015-04-23 15:41:59 +08:00
Simon Michael
f75849cdd6
fix ghc 7.10 Applicative import warnings ( #239 )
...
Still needed CPP, despite using base-compat.
2015-03-29 16:09:41 -07:00
Simon Michael
8e50395b7c
ErrorT -> ExceptT, handle mtl <2.2.1 && >=2.2.1 ( #239 )
2015-03-29 14:16:42 -07:00