← Back to context

Comment by justinpombrio

13 days ago

paredit is what I think of as a half-structural editor. It gives you some structural shortcuts, but the cursor is still on a character instead of on a node, IIRC. My bet (that I've spent a lot of time building an editor for) is that the big gains will come when the cursor is never on text, always on an AST node.

> the less syntax I have to remember, the better

Part of my point is that parenthetical languages don't actually have that much less syntax. You have to remember one of these two syntaxes:

    let x = 1;
    let y = 2;
    do_stuff

    (let
      ((x 1)
       (y 2))
     do_stuff)

Now you say that there's a lot more possible variation in the first case; it could be:

    let x = 1; # Rust
    var x = 1; # JS
    x=1 # bash

And I point out that there's a lot of possible variation in the second case too:

    (define x 1) (define x 2) do_stuff
    (let (x 1) (y 2) do_stuff)
    (let x 1 (let y 2 do_stuff))

There is less syntax with parens. But it's not zero syntax, and you still need to memorize it.