Go to file
Simon Michael 0f5ee154c4 lib: simplify parsers; cleanups (#275)
The journal/timeclock/timedot parsers, instead of constructing (opaque)
journal update functions which are later applied to build the journal,
now construct the journal directly (by modifying the parser state). This
is easier to understand and debug. It also removes any possibility of
the journal updates being a space leak. (They weren't, in fact memory
usage is now slightly higher, but that will be addressed in other ways.)

Also:

Journal data and journal parse info have been merged into one type (for
now), and field names are more consistent.

The ParsedJournal type alias has been added to distinguish being-parsed
and finalised journals.

Journal is now a monoid.

stats: fixed an issue with ordering of include files

journal: fixed an issue with ordering of included same-date transactions

timeclock: sessions can no longer span file boundaries (unclocked-out
sessions will be auto-closed at the end of the file).

expandPath now throws a proper IO error (and requires the IO monad).
2016-05-23 00:44:19 -07:00
bin doc: more consistent README file extensions 2014-10-31 16:16:41 -07:00
checks update dev setup tests 2015-03-16 17:59:06 -07:00
data tools: fix make functest in a fresh copy 2016-04-21 08:37:37 -07:00
doc doc: macro cleanups 2016-04-17 15:27:56 -07:00
extra extra: update, stackify hledger-check-dates 2016-05-19 16:29:39 -07:00
hledger lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
hledger-api lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
hledger-lib lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
hledger-ui rename a file to help git on windows (#345) 2016-05-18 16:52:10 -07:00
hledger-web lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
site rename a file to help git on windows (#345) 2016-05-18 16:52:10 -07:00
tests lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
tools rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
.gitignore shake: also generate info manuals 2016-04-18 17:54:55 -07:00
.travis.yml travis: add --no-haddock-deps, should work now 2016-05-06 18:16:59 -07:00
.version bump version to 0.27 2015-10-30 13:21:51 -07:00
buildSandbox.sh make buildSandbox.sh executable 2014-05-22 14:21:27 -07:00
dev.hs rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
help-system.mk tools: makefile help system improvements 2015-07-12 12:29:53 -07:00
LICENSE add LICENSE 2008-10-01 07:52:07 +00:00
Makefile lib: add a doctest suite 2016-04-28 13:34:57 -07:00
Makefile.old tools: archive old Makefile and start afresh 2015-07-12 12:29:53 -07:00
README.md doc: readme: make gpl badge green 2015-09-02 11:49:14 -07:00
Shake.hs shake: also generate info manuals 2016-04-18 17:54:55 -07:00
stack-ghc8.yaml ui: use new lens release instead of fork 2016-04-28 17:31:02 -07:00
stack.yaml stack: add some required newer deps from hackage 2016-05-11 07:13:21 -07:00

hledger

lightweight, portable, dependable accounting tools

hledger is a computer program for easily tracking money, time, or other commodities, on unix, mac and windows (and web-capable mobile devices, to some extent).

It is first a command-line tool, but there are also curses-style and web interfaces, and a Haskell library (http://hackage.haskell.org/package/hledger-lib) for building your own programs and scripts (hledger is written in Haskell). hledger was inspired by and is largely compatible with Ledger. hledger is free software available under the GNU General Public License v3+.

hledger aims to help both computer experts and regular folks to gain clarity and control in their finances and time management, but currently it is a bit more suited to techies. I use it every day to:

  • track spending and income
  • see time reports by day/week/month/project
  • get accurate numbers for client billing and tax filing
  • track invoices

Though limited in features, hledger is lightweight, usable and reliable. For some, it is a simpler, less distracting, more future-proof alternative to Quicken or GnuCash.

For more, see http://hledger.org.

license hackage release

travis build status hackage upper bounds github issues bountysource