I'm writing a toy language in haskell. I'm using Alex to generate a scanner. Every time I build my project with cabal, I get the following warnings:
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)
It seems that the alex-generated scanner uses tabs instead of spaces, and ghc's default behaviour is to warn the user about this.
Is anyone aware of a way to either force alex to use spaces, or to suppress those warnings from ghc (via cabal)?
As mentioned in the comments, this is supposedly fixed in alex master. Until you can use the fixed version, you can try adding
ghc-options: -fno-warn-tabs
to your .cabal file.