Re: How many spaces a tab is worth Taylor Campbell 04 Dec 2003 22:43 UTC

On Thursday, Dec 4, 2003, at 15:33 US/Eastern, RedHog (Egil Möller)
wrote:

> Dear Bear,
>
> I won't comment much on your mail, as it seems to mostly be a troll.

It's not a troll.  It's a straight-out statement of the feelings of
_many_ Schemers on this matter.

> This said, your comment on Schemes with this syntax enabled by default
> needs a remark; the syntax is constructed in such a way as to be
> backward compatible with the normal S-expression-based syntax -
> I-expressions could be enabled by deffault without breaking any but a
> very small set of old code.
>
> Specifically, the only code that would break, would be code that had
> two consecutive topplevel expressions, with the second line indented
> more, as in
>
> (define foo bar)
>
>    (define fie naja)
>
> To code like that clearly is not very usefull, and so isn't found in
> many progams (most progams I've seen have had all topplevel
> expressions non-indented).

What about files where the whole file is wrapped in some form, but
nothing has extra indentation?  This is found in a _lot_ of libraries
for PLT, for instance:

(module foo mzscheme
   (require bar)
   (provide baz)

;; The top-level forms in the module body have no indentation.
(define (mumble frotz) (garglemumph quux))
(define (baz ...) ...)
...

)

a) REQUIRE and PROVIDE have different indentations than DEFINE (this
    might not be as common).
b) The DEFINEs have the _same_ amount of indentation as MODULE (none),
    but they're _subforms_.
c) How do you tell where the close-paren is supposed to be?