On Tue, Feb 19, 2013 at 9:04 PM, Beni Cherniavsky-Paskin <c...@users.sf.net> wrote: > This behaves surprisingly: > > $ > ! a b > ! c d > ==> > ((a b (c d))) > > it seems $ consumes the following newline, resulting in same parsing as if I > wrote > > $ a b > c d > > Is this deliberate?
No (at least not by me; check David's answer, but I suspect he didn't implement it deliberately that way). Every example we have has some other datum after the "$", I never said anything about $-at-eol ever since I first proposed SUBLIST on the mailinglist, and so on, so you might legitimately say that this is "unspecified". > Since "a b" is on a child line, I'd it to parse in the same manner as "c d", > resulting in ((a b) (c d)). That seems reasonable, given your rules. One might say that: $ ! a b ! c d ==> $ \\ ! a b ! c d > > [I'm asking this because if it's 'fixed, my > closing-SUBLIST-by-unmatched-dedent would allow: > > let $ > ! ! x $ compute 'x > ! ! y $ compute 'y > ! body... > ] Hmm... let INDENT ; stack: (0 ?) INDENT x INDENT compute 'x ; stack: (0 ? 4 ?) DEDENT ; stack: (0 ? 4), indentation = 4 y INDENT compute 'y ; stack: (0 ? 4 ?) DEDENT DEDENT ; stack: (0 ?), indentation = 2 body ... ; stack: (0 2) DEDENT ==> let !\\ !!x !!!compute 'x !!y !!!compute 'y !body -- looks legit. Hmm, let's try the SUBLIST and monotonic-indentation equivalence theorem... i.e.: foo ! bar <===> foo $ bar So, let's try it: let $ ! ! x ! ! ! compute 'x ! body ... ==> let INDENT ; stack: (0 ?) INDENT x ; stack: (0 ? 4) INDENT compute 'x ; stack: (0 ? 4 6) DEDENT DEDENT ; stack: (0 ?), indentation = 2 body ... ; stack: (0 2) DEDENT ==> let !\\ !!x !!!compute 'x !body ... -- Looks good so far. I think I prefer your formulation of SUBLIST if it's truly back-compatible (and even if shown non-back-compatible, if the back compatibility loss is acceptable in the typical case). It seems to me that much of SUBLIST's power may be due to the fact that it has a hidden surprisingly elegant formulation like yours, leading to its hidden surprisingly elegant semantics. Sincerely, AmkG ------------------------------------------------------------------------------ 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