[GHC] #9230: Make -fwarn-tabs the default
GHC
ghc-devs at haskell.org
Tue Nov 4 03:08:11 UTC 2014
#9230: Make -fwarn-tabs the default
-------------------------------------+-------------------------------------
Reporter: dfeuer | Owner: mlen
Type: feature | Status: closed
request | Milestone: 7.10.1
Priority: normal | Version: 7.8.2
Component: Compiler | Keywords:
Resolution: fixed | Architecture: Unknown/Multiple
Operating System: | Difficulty: Easy (less than 1
Unknown/Multiple | hour)
Type of failure: | Blocked By:
None/Unknown | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: Phab:D255, |
Phab:D399 |
-------------------------------------+-------------------------------------
Comment (by isaacdupree):
re: Polarina: Let's try describing a rule that would catch all suspect
uses of tabs.
Tabs may not be preceded by a non-tab character: that's a start.
Let's add: If two adjacent lines have different numbers of tabs, the line
with fewer tabs must have a non-whitespace character following the last
tab. This way the layout algorithm will never compare the width of a
space and a tab (I think). Except that is not enough when layout is begun
on the same line as the layout-inducing keyword:
{{{
f x = z where y = x + x
z = y + y
}}}
(Personally I consider it bad style to do that even with spaces. If you
change the first line before the layout keyword, you need to change the
whole layout. Also if you dare to use a non-monospace font it will look
wrong. I prefer starting the layout on a new line. [I wish I had a
warning for this.])
I think there is a way to warn exactly when the tab width affects layout,
but it would have to happen after lexing, and I'm not volunteering to
implement it.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9230#comment:31>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list