Когда я пытаюсь установить пакет spacepart с помощью cabal install, он пытается скомпилировать векторное пространство зависимостей, но когда векторное пространство пытается скомпилировать модуль, он экспортирует «Data.LinearMap», который я получаю ошибка «Не в конструкторе типа или классе« HasTrie ». После того, как я сделал некоторое перекодирование HasTrie - это класс, экспортированный пакетом MemoTrie. Thing у меня есть MemoTrie, и MemoTrie экспортирует« HasTrie ». Что здесь не так? Также это стек переполнения пост не помогает, так это не будет дублировать вопрос: Haskell package vector-space fails at compile time -Спасибо за ваше времяКаббал, неспособный установить пакет векторного пространства
1
A
ответ
1
насколько я могу видеть от просмотра на Hackage, spacepart
исправленные использовать очень старая версия vector-space
(0.5. *), И эта версия содержит Data.LinearMap
-й подозрительную импорт линию
import Data.MemoTrie ((:->:)(..))
который просто не импорта HasTrie
. Я предполагаю, что в какой-то момент в прошлом это действительно сработало, потому что (:->:)
- это семейство данных, определенное внутри HasTrie
, но с тех пор GHC было изменено, так что это не так.
Возможные загрязнен фикс: Хочу отметить, что до 0.5.2, он просто говорит
import Data.MemoTrie
Я просто попытался установить с
cabal install spacepart vector-space-0.5.2
и казалось, на работу.
Да, это исправление работает. Я также отправил письмо сопровождающему для обновления пакетов соответственно :) –