我在哈斯克尔写了一种玩具语言。我使用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)?
答案 0 :(得分:9)
如评论中所述,这可以在alex master中修复。在您使用固定版本之前,您可以尝试添加
ghc-options: -fno-warn-tabs
到您的.cabal文件。