Re: Get rid of .git/branches/ and .git/remotes/?
From: <hidden>
Date: 2016-06-15 22:42:13
The main reason I don't like indentation is that it tends to have strange rules for "tab". Some people (incorrectly, of course) think that tabs are not at fixed 8-byte things, so deciding the indentation of a tab often ends up either disallowing tabs altogether (bad) or having other strange rules (disallowing spaces). So I'm not religiously opposed to it, but I find it to be less than optimal.
Actually, most indentation-sensitive languages have a simpler solution:
they don't try to convert whitespace strings to a number like "horizontal
position"; they just compare strings.
Each line must either have the same indentation string as some active
scope, or its indentation must have the current innermost scope as a
prefix, in which case it introduces a new scope.
This allows anything except for
foo # No prefix
bar # 4 spaces prefix
baz # tab prefix: illegal!
The "baz" line would have to begin with 4 spaces to be legal.
They could be followed by 4 more spaces, or a tab, or any other
whitespace pattern.
It's also possible to combine the two, as Haskell does. Haskell inserts
open braces automatically if there is no such punctuation between two
lines with differing indentation, but if you supply a brace explicitly,
you can do whatever indentation you like. (And the close brace must be
explicit if the open brace is, of course.)