我在用Haskell写玩具语言。我正在使用Alex生成扫描仪。每次使用cabal构建项目时,都会收到以下警告:

dist/build/optimiser/optimiser-tmp/Lexer.hs:465:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:466:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:467:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:471:1: Warning:
    Tab character

dist/build/optimiser/optimiser-tmp/Lexer.hs:472:1: Warning:
    Tab character

(plus about 10 more of these warnings)

似乎由alex生成的扫描仪使用制表符而不是空格,ghc的默认行为是警告用户。

有谁知道一种强制Alex使用空格或抑制ghc发出的警告的方法(通过cabal)?

最佳答案

正如评论中提到的那样,这可能是在alex master中修复的。在可以使用固定版本之前,您可以尝试添加

ghc-options: -fno-warn-tabs

到您的.cabal文件。

关于haskell - Haskell/Alex : Warning: Tab character,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30236635/

10-10 03:43