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, [EMAIL PROTECTED]
"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.
_______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell