hledger/hledger
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
..
app tools: fix warnings in simplebench 2014-10-19 09:34:46 -07:00
bench tools: benchmark cleanup 2015-06-27 06:35:00 -07:00
doc lib: allow multiple files of different format (#320) 2016-05-18 16:41:52 -07:00
Hledger lib: simplify parsers; cleanups (#275) 2016-05-23 00:44:19 -07:00
test cli: cabal test suite cleanup 2015-06-18 09:48:18 -07:00
Text/Tabular fix build error (#242) 2015-09-29 21:16:51 -10:00
.ghci tools: .ghci for each package, sets shorter prompt 2016-04-15 16:06:45 -07:00
CHANGES doc: add release date to changelogs 2015-10-30 14:09:19 -07:00
future-package.yaml update tested-with 2016-04-28 17:32:17 -07:00
hledger.cabal doc: symlink other package docs into hledger (#343) 2016-05-17 10:04:54 -07:00
hlint.hs packagegeddon.. split off web/chart/vty, move hledger to a subdir 2010-09-09 22:54:34 +00:00
LICENSE packagegeddon.. split off web/chart/vty, move hledger to a subdir 2010-09-09 22:54:34 +00:00
README.md doc: give hledger a README on hackage (via symlink) 2015-07-21 12:23:31 -07:00
Setup.hs Revert "remove Setup.hs files again, fixing a yesod devel warning" 2014-05-24 13:39:09 -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