On 2/19/13, Beni Cherniavsky-Paskin c...@users.sf.net wrote:
Here is yet another idea for opening multiple levels on one line, that does
NOT involve column counting, only comparison of leading whitespaces.
It's a backward-compatible extension to SUBLIST (similarly applicable to
any competing
let
!!$ x
!!compute 'x
y
!!compute 'y
!!use x y
==
let
INDENT INDENT x ; stack: (0 2 ?)
INDENT compute 'x ; stack: (0 2 ? 6)
DEDENT ; stack: (0 2 ?), indentation = 4
y ; stack: (0 2 4)
INDENT compute 'y ; stack (0 2 4 6)
DEDENT DEDENT ; stack (0 2)
use x y
DEDENT
==
let
Okay, okay, currently:
let
$ x $ compute 'x
use x
==
(let
((x (compute 'x))
(use x))
So, let's try the new formulation:
let
!!$ x $ compute 'x
!!use x
==
let
INDENT INDENT x INDENT compute 'x ; stack: (0 2 ? ?)
DEDENT DEDENT ; stack: (0 2), indentation = 2
use x
DEDENT
===
let
On 2/20/13, David A. Wheeler dwhee...@dwheeler.com wrote:
Beni Cherniavsky-Paskin:
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?
Alan
On 2/20/13, David A. Wheeler dwhee...@dwheeler.com wrote:
[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...
]
I have a *lot* of concerns with that particular construct.
Why?