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

Reply via email to