hledger/stack.yaml
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

37 lines
813 B
YAML

# stack build plan using GHC 8.6.5
resolver: lts-14.4
#resolver: nightly-2019-07-26
packages:
- hledger-lib
- hledger
- hledger-ui
- hledger-web
#- hledger-api
nix:
pure: false
packages: [perl gmp ncurses zlib]
# allow-newer: true
extra-deps:
# for hledger-lib:
# testing:
# - base-compat-batteries-0.11.0
# - base-compat-0.11.0
# for hledger:
# for hledger-ui:
# for hledger-web:
# for hledger-api:
# Workaround for https://github.com/commercialhaskell/stack/issues/3922
# Try dropping this.. after stack 2 has been out a while ? Or now ? How about now ?
#- haskell-src-exts-1.21.0
# Use at least 0.46 to work around https://github.com/simonmichael/hledger/issues/1039
# (hledger-web build failure with GHC 8.6 on Windows 7)
# Might also be fixed by using GHC 8.6.5+, mixed reports
#- unix-time-0.4.6