2017-01-15 19 views
1

Я попытался установить MissingPy, но он не смог смеждусобойчик установки MissingPy не может найти Data.HashTable

on the commandline: Warning: 
-XOverlappingInstances is deprecated: instead use per-instance pragmas  OVERLAPPING/OVERLAPPABLE/OVERLAPS 

src/Database/AnyDBM.hs:44:8: 
    Could not find module ‘Data.HashTable’ 
Perhaps you meant 
    Data.Hashable (needs flag -package-key  hashable->[email protected]_Evd2cSGupW8AJnHTBSvXg8) 
     Data.HashTable.IO (needs flag -package-key  hashtables->[email protected]_EuNk8qBpsPjAV2dYmonrJi) 
    Use -v to see a list of the files searched for. 
cabal: Error: some packages failed to install: 
anydbm-1.0.7 failed during the building phase. The exception was: 
ExitFailure 1 

Где-то я нашел, Data.HashTable осуждается. Там есть документация по хакерству, но в нем не упоминается имя пакета. Как установить Data.HashTable?

+0

Сначала попробуйте установить ['hashtables'] (https://hackage.haskell.org/package/hashtables). – Alec

+0

@Alec Похоже, это установлено для меня; ошибка говорит, в частности: «Возможно, вы имели в виду ... Data.HashTable.IO (... hashtables-> 1.2.1.0 ...)». –

+1

Где находится документация по Hackage? Это должно быть довольно тривиально, чтобы определить правильное имя пакета и ограничения версии, учитывая это. –

ответ

1

Data.Hashtable package был устарел в base 4.6 и удален в base 4.7. base is a core library. Каждая версия ghc является пакетом с конкретной версией base, поэтому, если вы хотите использовать более старую версию base, вам придется использовать более старый ghc. Последняя версия ghc, упакованная с base 4.6, была ghc 7.6.

Если вам нужна карта, есть лучшие альтернативы: Data.Map и Data.IntMap - это упорядоченная карта. Data.HashMap - неизменная неупорядоченная карта. Data.HashTable и Data.Judy являются изменяемыми неупорядоченными картами.