Re: Use of tab characters in indentation-sensitive code
Graham Klyne wrote (according to Wolfgang Thaller, snipped):
I think that compilers should issue a warning when indentation that determines the scope of a construct is found to contain tab characters.
In an ideal world, TAB characters would never have been put into ASCII, and this would be my preferred solution. However, since there would be some people who would object to such purity, a better alternative might be (a) to allow m TABs followed by n spaces at the start of lines. (b) to denote the indention of the line by the two numbers (m,n). (c) to give an error message when comparing two indentions (m1,n1),(m2,n2) where neither m1<=m2,n1<=n2, nor m1>=m2,n1>=n2. Incidentally Unicode allows far more possibilities for fun with indentation (for example half-spaces, IIRC).
George Russell wrote:
Graham Klyne wrote (according to Wolfgang Thaller, snipped):
I think that compilers should issue a warning when indentation that determines the scope of a construct is found to contain tab characters.
In an ideal world, TAB characters would never have been put into ASCII, and this would be my preferred solution. However, since there would be some people who would object to such purity, a better alternative might be (a) to allow m TABs followed by n spaces at the start of lines. (b) to denote the indention of the line by the two numbers (m,n). (c) to give an error message when comparing two indentions (m1,n1),(m2,n2) where neither m1<=m2,n1<=n2, nor m1>=m2,n1>=n2.
Incidentally Unicode allows far more possibilities for fun with indentation (for example half-spaces, IIRC).
The most flexible but safe solution is to simply define the indentation as the sequence of indentation characters used. Two consecutive lines are indented consistently whenever one indentation is a prefix of the other. Hence you may freely mix different indentation characters, but you must be consistent across lines. Any decent editor should be able to ensure that. With this solution, tab width is irrelevant and indentation may include whatever Unicode has. - Andreas -- Andreas Rossberg, rossberg@ps.uni-sb.de "Computer games don't affect kids; I mean if Pac Man affected us as kids, we would all be running around in darkened rooms, munching magic pills, and listening to repetitive electronic music." - Kristian Wilson, Nintendo Inc.
participants (2)
-
Andreas Rossberg -
George Russell