Невозможно установить пакет set-monad в новой установке GHC - PullRequest
0 голосов
/ 27 сентября 2019

Я только что установил GHC и Cabal.Я застреваю при установке set-monad пакета.Моя настройка:

xxx:~$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 8.2.2

xxx:~$ cabal --version
cabal-install version 2.0.0.1
compiled using version 2.0.1.0 of the Cabal library 

xxx:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.10
Release:    18.10
Codename:   cosmic

Когда я пытаюсь установить пакет, я получаю:

xxx:~$ cabal update
Downloading the latest package list from hackage.haskell.org

xxx:~$ cabal install set-monad
Resolving dependencies...
Configuring set-monad-0.3.0.0...
Building set-monad-0.3.0.0...
Failed to install set-monad-0.3.0.0
Build log ( /home/incud/.cabal/logs/ghc-8.2.2/set-monad-0.3.0.0-3UdszwszaTh17UtmYfmrwd.log ):
cabal: Entering directory '/tmp/cabal-tmp-12518/set-monad-0.3.0.0'
Configuring set-monad-0.3.0.0...
Preprocessing library for set-monad-0.3.0.0..
Building library for set-monad-0.3.0.0..
[1 of 1] Compiling Data.Set.Monad   ( Data/Set/Monad.hs, dist/build/Data/Set/Monad.o )

Data/Set/Monad.hs:210:10: error:
    Not in scope: type constructor or class ‘Semigroup’
    |
210 | instance Semigroup (Set a) where
    |          ^^^^^^^^^
cabal: Leaving directory '/tmp/cabal-tmp-12518/set-monad-0.3.0.0'
cabal: Error: some packages failed to install:
set-monad-0.3.0.0-3UdszwszaTh17UtmYfmrwd failed during the building phase. The
exception was:
ExitFailure 1

Я что-то упустил?Больше нет информации о hackage об установке пакета.

1 Ответ

1 голос
/ 27 сентября 2019

Это было введено в da3ee07 , который изменил пакет set-monad с старого стиля Monoid на текущий Semigroup.К сожалению, этот коммит также не задумывался о сохранении обратной совместимости, поэтому set-monad-0.2 работает только с GHC <8.4 и <code>set-monad-0.2 только с GHC> 8.2.Хуже того, это не было явно указано в границах версии.

Это уже предмет запроса на извлечение , однако он никогда не был объединен.

Простое решение: установитьset-monad-0.2.

...