首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alex wrappers.hs没有应用程序的实例

Alex wrappers.hs没有应用程序的实例
EN

Stack Overflow用户
提问于 2015-11-17 21:54:51
回答 1查看 95关注 0票数 1

我试图用ghc 7.10.2和alex 3.1.4编译一个lex.x,但它给出了下面的错误。我检查了Lex.hs,确实没有'Alex‘的应用实例。

注意:这个错误是在我从包装器'monad‘移动到'monad-bytestring’之后出现的。

代码语言:javascript
复制
templates/wrappers.hs:287:10:
    No instance for (Applicative Alex)
      arising from the superclasses of an instance declaration
    In the instance declaration for ‘Monad Alex’

我看到在ALEX3.1.4中这个问题已经修复了http://hackage.haskell.org/package/alex

代码语言:javascript
复制
Changes in 3.1.4:

    Add Applicative/Functor instances for GHC 7.10

下面的commit介绍了应用程序实例,但它不存在于我生成的Lex.hs中。我可以手动使用下面的包装器来生成Lex.hs吗?

https://github.com/simonmar/alex/commit/b1472bfbb7b95bcd6c66558197e2603997d9ce0b

EN

回答 1

Stack Overflow用户

发布于 2015-11-18 20:13:32

这是解决此问题的一种方法。基本上,这涉及到从最新的源代码构建alex和修改本地包装器。虽然这对我很有效,但它也可能有一些未知的问题。

代码语言:javascript
复制
mkdir tmp; cd tmp;
git clone https://github.com/simonmar/alex.git
cd alex;
git checkout 3b7e8e4; 
cabal build;

然后将此目录中生成的'AlexWrapper-monad-bytestring‘复制到本地alex安装中。例如

代码语言:javascript
复制
cp AlexWrapper-monad-bytestring ~/.stack/snapshots/x86_64-linux/lts-3.14/7.10.2/share/x86_64-linux-ghc-7.10.2/alex-3.1.4/AlexWrapper-monad-bytestring

从'3b7e8e4‘构建的原因是,由于引入了额外的功能,提交'447bbb8’破坏了包装器的编译。

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

https://stackoverflow.com/questions/33758728

复制
相关文章

相似问题

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