> And no one wants to allow mixing. Mixing always happens (and is in fact what you're arguing for): proc outer = # indentation: proc foo(x, y: string, z: int) = # ind+alignment of 'z' to be on the same column as '(' # indentation again
> There is one big advantage of tabs: Indent width can be freely configured, > without the need to modify the source code itself. Indent width can always be freely _rendered_ because that's what text editors do, they render a stream of bytes. Byte 9 has no inherent advantage over a series of byte 32. The only advantage arises when you use clearly distinguish between indentation and alignment and use different bytes for these. Which is not user friendly because it means you make the human being perform this distinction all the time so that your computer program can remain simple.