This is projective editing. See for example https://www.jetbrains.com/mps/
On 5 November 2017 at 13:22, Michael Lewis <m...@lew42.com> wrote: > Raul-Sebastian Mihăilă just made a post here about some mixin syntax. I > didn't read it (sorry). > > But, it got me thinking about a concept I've been thinking for years: *syntax > is the problem*, and there's a better solution. > > If you define syntax as a human <--> computer language (a human-readable > and computer-readable form of text), you necessarily need a very strictly > defined syntax. One missing curly, and you're f'd. > > Duh, we all know this. Hang onto your pants for a second, let's explore > an alternative. > > What if we edited scripts more directly in AST form (abstract syntax > tree). Developers could implement their own UI to manipulate this AST. > There are many, many benefits to this, I'll get to in a second. > > First, let's remember what everyone in the JS community is doing right > now: running their code through transpilers. (I refuse to do this, that's > why I'm unemployed - I strongly dislike the concept). What is a > transpiler? It's an unofficial middleman that interprets the syntax, > converts it to an AST, performs transformations, and then returns the AST > to syntax form. > > Suddenly, scripting in AST form doesn't sound so crazy. > > Clearly, you wouldn't be writing JSON. We would be using a GUI to create > the AST. And this is the greatest benefit: moving away from *syntax*, > and moving to a GUI. > > Then, instead of babel plugins that provide alternative *syntax*, you > could have plugins that provide alternative *experiences.* > > What would designing a class look like, if using a GUI? > > 1. Click [ create new class ] > 2. Click [ add new method ] > > Or, click the [ extend ] button next to an existing class... > > This is the future. I have to go eat breakfast, but I'd love to discuss > this future if anyone is interested... > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss