On Tue, Feb 19, 2013 at 9:04 PM, Beni Cherniavsky-Paskin
<[email protected]> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/readable-discuss