ghc / flymake挂在预处理器指令上

马可

我在emacs上使用flymake(-ghc)(前奏设置,在任何人都想知道之前,没有任何额外的配置)用于yesod项目,该项目#if默认情况下到处都是。除了flymake显示此错误外,其他所有方面都很好:

/path/to/Import.hs:18:2:
    lexical error at character 'i'

线正好是

#if __GLASGOW_HASKELL__ >= 704

因此,行为与ghci完全相同:

Prelude> #if something

<interactive>:2:2: lexical error at character 'i'

我在这里想念什么吗?

红利auto-complete也不起作用(emacs,序曲,默认设置等):它适用于其他事物(例如R)。

卢纳隆

我认为这flymake-ghc件事在检查时不会启用C预处理器。要解决此问题,请将以下内容添加到受影响的Haskell文件的顶部::

{-# LANGUAGE CPP #-}

此编译指示为包含的文件启用预处理器。

通常,这实际上是启用Haskell语言选项和扩展名的首选方法,因为这种方式将它们限制在实际需要它们的文件中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章