Haskell / Alex:警告:制表符

时间:2015-05-14 11:49:57

标签: haskell cabal alex

我在哈斯克尔写了一种玩具语言。我使用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)?

1 个答案:

答案 0 :(得分:9)

如评论中所述,这可以在alex master中修复。在您使用固定版本之前,您可以尝试添加

ghc-options: -fno-warn-tabs

到您的.cabal文件。