I guess a bit more like wolfram alpha&#x27;s disambiguation (though that&#x27;s not interactive)  or Google&#x27;s suggestions (did you mean...)  but more of a dialog than &quot;take it or leave it this is my suggestion&quot;.<p>On kite... So I&#x27;m not familiar with kite but yes, &quot;the language&quot;  should be much broader,  way too broad to include in a static download.  Take my example: every English-speaking programmer knows what it means to double something but no programming language I know includes a function called double()  which means to set equal to itself * 2 (because including such a thing in a downloadable language is a stupid idea to do).  On the other hand it&#x27;s not a stupid idea to do so interactively in a connected &quot;language as a service&quot;,  having it offer and keep track of the fact that people usually end up wanting you to set it to the value * 2 (90% of the time).<p>You can test that this would work.  Write some pseudo code to accomplish something.<p>Next, Google each line you&#x27;ve written, along with the name of a language.  See?  It works. You can change the pseudocode to code in a language interactively.<p>For choices the programmer has to make,  the environment could ask them then and there.<p>This only works when a language is &quot;live&quot; or online,  and keeps track of what people end up meaning. Maybe I shouldn&#x27;t call it &quot;language&quot;  but something else... Yet at the end of the day if you&#x27;re writing code, answering some questions and moving on, it&#x27;s close to a language, isn&#x27;t it?