On Sunday, 10 October 1999 00:09, Lennart Augustsson [SMTP:[EMAIL PROTECTED]] wrote: > Marcin 'Qrczak' Kowalczyk wrote: > > > Sat, 9 Oct 1999 12:42:20 +1300, Brian Boutel <[EMAIL PROTECTED]> pisze: > > > > > Be careful. '<-' is two symbols. Replacing it by one symbol can change the > > > semantics of a program by affecting layout. > > > > No, because only the indent before the first non-whitespace character > > in a line matters. Haskell programs can be typeset even in proportional > > font as long as indents have correct relationships between their > > lengths. > > You must be using a different Haskell than I am. :-) > Consider these two fragments: > a = x + y where x = 1 > y = 1 > vs. > a = x ++ y where x = 1 > y = 1 > > They have very different syntactical meaning. > It occurs to me that this signals a problem with the macro preprocessor proposals. Macro expansion can affect relative indentation, and therefore create errors which would be hard to find because the expanded form is not normally visible. This strongly suggests either a) Restrict preprocessing to whole-line inclusion/exclusion (conditional compilation), including #define, #ifdef, #elseif, #else, etc, or b) Allow general macro expansion, but do the "pre-"processing after layout processing. --brian