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
		
			
				
	
	
		
			37 lines
		
	
	
		
			813 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			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
 |