【发布时间】:2015-05-14 11:49:57
【问题描述】:
我正在用 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 中的一个错误引起的,Simon Marlow 似乎在两周前修复了这个错误。见github.com/simonmar/alex/issues/61。尝试获取最新版本的 Alex。
-
@Jubobs 很高兴知道,感谢您的提醒。更新似乎还没有到达 Hackage 或我的发行版的 repos,但我可以容忍这个问题直到那时。