2016-02-12 4 views
1

У меня есть настольное приложение Haskell, которое использует Snap. Это приложение работает уже много лет и является повседневной частью нашего полевого решения. Несколько месяцев назад я перешел на новую машину для разработки, выполнив Windows 10 с версией 7.10.3 GHC и 1.22.3.0 библиотеки cabal с 1.22.4.0 установки cabal. Я установил версию 0.9.8.0 оснастки и версию 0.9.5.1 snap-сервера.cabal не удалось найти модуль snap.internal.http.server.exception

Когда я пытаюсь построить мое приложение в этой среде, то получаю следующую ошибку:

Could not find module `Snap.Internal.Http.Server.Exception' 
Perhaps you meant 
    Snap.Internal.Http.Server.Backend 
    Snap.Internal.Http.Server.Config 
    Snap.Internal.Http.Server.Date 

Я не могу найти этот модуль в Hackage. Что-то изменилось в Snap с тех пор, как я последний раз построил этот код? Пожалуйста, любые советы будут оценены.

Dave

P.S. Вот ссылки на вывод команды ghc-pkg list и файл cabal для этого проекта.

http://zelda.designacourse.com/dave/ghc-pkg_list.txt http://zelda.designacourse.com/dave/PreviewWrapper.cabal

+0

Вы можете предоставить нам дополнительную информацию о запущенном приложении - скажем, список 'ghc-pkg' или' cabal sandbox hc-pkg list', другой вариант - использовать стек (http://docs.haskellstack.org /en/stable/README.html) – epsilonhalbe

+0

также в старом приложении, в каких версиях cabal/ghc вы используете – epsilonhalbe

+0

. В последний раз, когда это было успешно построено, я запускал платформу Haskell 2014 года. У меня больше нет точной версии, поскольку мне пришлось удалить ее, прежде чем я смогу установить новую версию. – dacDave

ответ

1

С помощью, и благодарность, epsilonhalbe мы нашли решение этой проблемы. Я до сих пор не знаю, почему импорт Snap.Internal.Http.Server.Exception начал выдавать ошибку из компилятора. Однако удаление этого импорта и добавление объявления типа в переменную теперь позволяет создавать код без ошибок. то есть catch ((_ :: IOException) -> return True).