Okay, let's recap this topic.

1.  almkglor's original proposal:

At start-of-line, the "." character is treated as a space character
until the first non-tab, non-space, non-"." character.  This means
that "." can be used as indentation, and is equivalent to space for
purposes of indentation matching.

2.  dwheeler's current implemented proposal:

The characters tab, space, and "." are indentation characters; "."
loses the whitespace meaning outside of indentation.  For purposes of
indentation matching "." in the current line must match a "." in the
indentation of the previous line.

3.  dwheeler's initial "." proposal

Indentation may start with either tab, space, or any number of ".",
and the rest of indentation is either tabs or spaces.  For purposes of
indentation matching "." in the current line must match a "." in the
indentation of the previous line.

4.  dwheeler's pair-characters proposal

The characters tab and space are indentation characters, and the "."
character, if followed by a tab or space, is also an indentation
character (if followed by a newline, it's not an indentation
character).  The "." character loses its whitespace meaning outside of
indentation.  For purposes of indentation matching "." in the current
line must match a "." in the indentation of the previous line.

--

My position is #1.  I could accept #2 if that's what the consensus is.

1.  I like it because we can draw arbitrary graphics using "."
characters in the indentation area.  This is useful for highlighting
sections of code.

2.  I could accept #2 since most of the graphics I'm going to draw are
simple vertical lines showing the indentation level of long cond
clauses and what-not.  The loss of drawing arbitrary graphics is minor
to consensus.  I'd still prefer #1 though.

3.  I can't accept #3 since it only allows drawing a vertical line at
the very left edge, or possibly a bar graph limited to the indentation
level, neither of which are useful.

4. I can't accept #4 because I'm not assured that it is easy to
implement given a one-character lookahead implementation (Scheme).  I
think that it is a significant implementation burden, in order to
support what I consider to be minor advantages.

In particular, the ... symbol is only majorly used in Scheme's
syntax-rules.  Now, the idiom in using ... looks like this:

(syntax-rules ()
  ((begin x
     body ...)
    (let ((v x))
      (begin
        body ...))
 blah blah

If we are to use indentation, and try to match the appearance as
closely as possible:

syntax-rules ()
. \
. . begin x
. .     body \ ...
. . \ let ((v x))
. . .   begin
. . .     body \ ...
blah blah

Note that we need to "escape" the ..., as otherwise it will be paired
with body, resulting in (body ...) instead of two separate elements
body and ...

So I think requiring \ for . and .. an ... are fine to me.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to