hledger/hledger-lib
Simon Michael 499e20c0b2 lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11
fail is moving out of Monad and into it's own MonadFail class.
This will be enforced in GHC 8.8 (I think).

base-compat/base-compat-batteries 0.11.0 have adapted to this,
and are approaching stackage nightly
(https://github.com/commercialhaskell/stackage/issues/4802).

hledger is now ready to build with base-compat-batteries 0.11.0, once
all of our deps do (eg aeson). We are still compatible with the older
0.10.x and GHC 7.10.3 as well.

For now we are using both fails:

- new fail (from Control.Monad.Fail), used in our parsers, imported
  via base-compat-batteries Control.Monad.Fail.Compat to work with
  older GHC versions.

- old fail (from GHC.Base, exported by Prelude, Control.Monad,
  Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's
  Test, since I couldn't find their existing fail implementation to update.

To reduce (my) confusion, these are imported carefully, consistently,
and qualified everywhere as Fail.fail and Prelude.fail, with clashing
re-exports suppressed, like so:

import Prelude hiding (fail)
import qualified Prelude (fail)
import Control.Monad.State.Strict hiding (fail)
import "base-compat-batteries" Prelude.Compat hiding (fail)
import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail
2019-09-08 17:13:47 -07:00
..
Hledger lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 2019-09-08 17:13:47 -07:00
other/ledger-parse lib: restrict imports, avoiding GHCI clashes 2016-11-20 10:27:16 -08:00
test code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Text code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
.ghci tools: .ghci for each package, sets shorter prompt 2016-04-15 16:06:45 -07:00
.version lib, cli: bump version to 1.15.2 2019-09-05 15:35:19 -07:00
CHANGES.md ;doc: 1.15.2 changelogs 2019-09-05 15:35:59 -07:00
defs.m4 lib, cli: bump version to 1.15.2 2019-09-05 15:35:19 -07:00
hledger_csv.5 ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_csv.info ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_csv.m4.md ;site: stop using pandoc's fenced_code_attributes 2019-08-26 18:41:33 -07:00
hledger_csv.txt ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_journal.5 ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_journal.info ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_journal.m4.md ;doc: journal: change some comments to avoid confusing markdown-mode 2019-09-02 06:09:35 -07:00
hledger_journal.txt ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_timeclock.5 ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_timeclock.info ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_timeclock.m4.md ;site: stop using pandoc's fenced_code_attributes 2019-08-26 18:41:33 -07:00
hledger_timeclock.txt ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_timedot.5 ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_timedot.info ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger_timedot.m4.md ;doc: don't add page TOCs any more, sphinx has it covered 2019-08-26 09:37:03 -07:00
hledger_timedot.txt ;doc: regen manuals 2019-09-05 15:35:44 -07:00
hledger-lib.cabal lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 2019-09-08 17:13:47 -07:00
Hledger.hs rename easytests_* to tests_* 2018-09-06 13:13:26 -07:00
LICENSE split off hledger-lib package, containing core types & utils 2010-03-22 01:44:59 +00:00
package.yaml lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 2019-09-08 17:13:47 -07:00
README doc: ensure all five main packages have a README 2016-04-12 11:13:01 -07:00
Setup.hs Revert "remove Setup.hs files again, fixing a yesod devel warning" 2014-05-24 13:39:09 -07:00

A reusable library containing hledger's core functionality.
This is used by most hledger* packages for common data parsing,
command line option handling, reporting etc.