自GHC 8.6.1起,MissingH不再包含在Stackage LTS nightly中,显然是因为_630800_在MissingHControl.Monad.Fail.MonadFail 之间 . 具体来说,如果我尝试针对8.6.1解析器构建my package并手动添加MissingH(来自当前分支,因为Hackage版本因基础约束而被拒绝),I get

/home/travis/build/orome/crypto-enigma-hs/.stack-work/downloaded/cfhWTjyPvK7n/src/Data/Compression/Inflate.hs:189:14: error:
    • No instance for (Control.Monad.Fail.MonadFail InfM)
        arising from a do statement
        with the failable pattern ‘[x]’
    • In a stmt of a 'do' block: [x] <- get_bits 1
      In the expression:
        do [x] <- get_bits 1
           return x
      In an equation for ‘get_bit’:
          get_bit
            = do [x] <- get_bits 1
                 return x
    |
189 | get_bit = do [x] <- get_bits 1
    |              ^^^^^^^^^^^^^^^^^

我不确定如何继续 . 我希望很多软件包都依赖于MissingH,如果没有更新,它将被LALT踢掉 .

我可以使用MissingH的替代品吗? MissingH是否积极维护,我是否应该尽快修复?


我'm not sure what part of MissingH I'米使用(how do I figure that out in Haskell?;我认为 Data.String.Utils ,至少来自那里),但我的导入(跨所有文件)看起来像这样:

import           Control.Arrow
import           Control.Exception      (assert)
import           Control.Monad          (unless)
import           Control.Monad.Except
import           Control.Monad.Zip
import           Control.Applicative
import           Data.Monoid
import           Data.List
import           Data.List.Split        (splitOn)
import qualified Data.Map               as M
import           Data.Maybe
import           Text.Printf            (printf)
import           Data.Char              (toUpper)
import           Data.String.Utils      (replace)

import Data.Char (chr, ord)
import Data.List (sort)

import Control.Applicative
import Data.Monoid
import Data.Char
import Data.List
import Data.List.Split          (chunksOf)
import Data.String.Utils        (replace)
import Text.Printf              (printf)

是否有一个向后兼容的替代我正在使用的MissingH的部分?