2015-02-22 2 views
1

Когда я пытаюсь установить пакет spacepart с помощью cabal install, он пытается скомпилировать векторное пространство зависимостей, но когда векторное пространство пытается скомпилировать модуль, он экспортирует «Data.LinearMap», который я получаю ошибка «Не в конструкторе типа или классе« HasTrie ». После того, как я сделал некоторое перекодирование HasTrie - это класс, экспортированный пакетом MemoTrie. Thing у меня есть MemoTrie, и MemoTrie экспортирует« HasTrie ». Что здесь не так? Также это стек переполнения пост не помогает, так это не будет дублировать вопрос: Haskell package vector-space fails at compile time -Спасибо за ваше времяКаббал, неспособный установить пакет векторного пространства

ответ

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 

и казалось, на работу.

+0

Да, это исправление работает. Я также отправил письмо сопровождающему для обновления пакетов соответственно :) –

Смежные вопросы