Beni Cherniavsky-Paskin: > Here is yet another idea for opening multiple levels on one line, that does > NOT involve column counting, only comparison of leading whitespaces.
Okay. Avoiding column counting makes sense for sure, as discussed earlier. > It's a backward-compatible extension to SUBLIST (similarly applicable to > any competing FOOLIST semantics), so we could leave it undecided for now, > and legalize it later. ... > A common objection to any scheme allowing unmatched dedents is that it > requires lookahead, both for machine parsing *and humans*. When you read: ... > But in our case, $ already declares that we opened an inner construct, so I > think it won't be surprising to humans. Points for cleverness, at least! But I think the required human look-ahead for this idea is a terrible cost. Having to possibly scan a lot of future lines to understand the local meaning is, I think, a net *loss* to readability. I'm skeptical that it wouldn't be "surprising" to humans, but even so, the human still has to do the lookahead with such a construct. When I'm programming or debugging I already have enough to keep track of! The fact that it can be added later is interesting. I like reversible decisions, since it means we're never *wrong*, just possibly *late* :-). > $ lets one open an inner list on one line, but currently it's only usable > when this list is the last element of the containing list: > > outer1 outer2 $ inner1 > ! inner2 > > You cannot express (outer1 outer2 (inner1 inner2) outer3) > without giving up on use of $. True, but there are non-$ forms that are pretty easy to use and read with the current notation, such as: outer1 outer2 ! inner1 inner2 ! outer3 > What about multiple $ ambiguity? Given: > > A1 $ B1 $ C1 > ! ! C2 > ! B2 > > why does the dedent return you to the inner B level and not the outer A > level? That part makes sense to me, if you accept the initial premise. But I sure don't like the initial premise, at least not this way, though maybe it can be tweaked into something else. And I appreciate the effort to respond to the challenges of the earlier ENLIST magic-column constructs. Other thoughts? --- David A. Wheeler ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Readable-discuss mailing list Readable-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/readable-discuss