[Haskell-cafe] ";" in do
Larry Evans
cppljevans at suddenlink.net
Thu Dec 30 14:04:11 CET 2010
On 12/29/10 22:40, Daryoush Mehrtash wrote:
> Why do people put ";" in do {}, or "," in data fields, at the
> beginning of the line?
> --
It reflects the parse tree better by putting the
combining operators (e.g. ';' and ',') at the left
and their operands (or combined subtrees) indented
to the right. IOW, this formating style rotates
the parse tree:
o_
/ \
/ \
s1 s2
for operator o_ and subtrees, s1 and s2,
-90 degrees and replaces the connecting edges with
indentation:
s1
o_ s2
now, it surrounds that with the begin(b_) and end(e_)
delimiters:
b_ s1
o_ s2
e_
For example, in the case of a tuple with arguments,
a1 and a2, this would appear:
( a1
, a2
)
This also improves readability in a similar way that
bulleted list items in a text document improve readability.
For example:
* s1
* s2
is easier to read than:
s1
s2
because the reader knows that * begins an item and he
only has to search a given column for the beginning
of the next item.
However, some people object to this style because
it requires too much vertical space as compared
to:
( a1, a2 )
HTH
-regards,
Larry
More information about the Haskell-Cafe
mailing list