I guess a bit more like wolfram alpha's disambiguation (though that's not interactive) or Google's suggestions (did you mean...) but more of a dialog than "take it or leave it this is my suggestion".
On kite... So I'm not familiar with kite but yes, "the language" 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's not a stupid idea to do so interactively in a connected "language as a service", 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).
You can test that this would work. Write some pseudo code to accomplish something.
Next, Google each line you've written, along with the name of a language. See? It works. You can change the pseudocode to code in a language interactively.
For choices the programmer has to make, the environment could ask them then and there.
This only works when a language is "live" or online, and keeps track of what people end up meaning. Maybe I shouldn't call it "language" but something else... Yet at the end of the day if you're writing code, answering some questions and moving on, it's close to a language, isn't it?