hledger/hledger-lib/Hledger/Data
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
..
Account.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
AccountName.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Amount.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Commodity.hs refactor: lib: hlint cleanups 2019-02-14 05:15:49 -08:00
Dates.hs lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11 2019-09-08 17:13:47 -07:00
Journal.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Ledger.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Period.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
PeriodicTransaction.hs ;fix doctests 2019-08-31 17:15:48 -07:00
Posting.hs valuation: -V/-X respects report end date, code/doc cleanups (#1083) 2019-09-05 13:41:36 -07:00
RawOptions.hs refactor: lib: hlint cleanups 2019-02-14 05:15:49 -08:00
StringFormat.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Timeclock.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Transaction.hs code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
TransactionModifier.hs ;fix doctests 2019-08-31 17:15:48 -07:00
Types.hs ;lib: move PriceGraph, PriceOracle, ValuationType to Valuation.hs 2019-08-19 02:21:30 +01:00
Valuation.hs valuation: -V/-X respects report end date, code/doc cleanups (#1083) 2019-09-05 13:41:36 -07:00