首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Haskell平台2012.2.0.0 (Windows XP)上cabal-install acid-state

无法在Haskell平台2012.2.0.0 (Windows XP)上cabal-install acid-state
EN

Stack Overflow用户
提问于 2012-11-07 06:44:35
回答 1查看 151关注 0票数 1

使用cabal,我尝试在Haskell Platform 2012.2.0.0 (Windows XP)上安装acid-state,但得到以下错误:

代码语言:javascript
复制
src-win32\FileIO.hs:43:5:
    Not in scope: catchIO Perhaps you meant `catch' (imported from Prelude)

src-win32\FileIO.hs:55:6:
    Not in scope: tryE Perhaps you meant `try' (imported from Control.Exception.Extensible)

src-win32\FileIO.hs:56:6:
    Not in scope: tryE
    Perhaps you meant `try' (imported from Control.Exception.Extensible)
cabal: Error: some packages failed to install:
acid-state-0.8.1 failed during the building phase. The exception was:
ExitFailure 1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-08 00:37:12

在使用可扩展异常系统时,这类问题经常出现。tryEcatchIO是标准样板;它们只是将catchtry专门化以使用SomeExceptionIOException

代码语言:javascript
复制
 import Control.Exception.Extensible(try,throw)
 import Control.Exception(SomeException,IOException)
 import qualified Control.Exception as E 
 tryE :: IO a -> IO (Either SomeException a)
 tryE = try
 catchIO :: IO a -> (IOException -> IO a) -> IO a
 catchIO = E.catch

执行cabal unpack acid-state操作,并将src-win32/FileIO.hs替换为this,后者在18ff https://gist.github.com/4032603行上定义它们,然后从外部目录(包含acid-state.cabal文件的那个目录)执行cabal install

可能有一些额外的错误,因为我现在不能测试它。正如Paul R.所说,当你编译它的时候,把它发送给维护者。包的维护很繁重,但看起来他们需要一名Windows测试员。酸状态当然是值得麻烦的。您还应该尝试examples/目录中的一些模块,它们在任何情况下都是一个很好的教程。如果你有更多的麻烦回信,我们可以一起设计一个合适的补丁文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13260622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档