4 ms·
Multiple language servers supporting multiple languages, each able to communicate over something more than the C ABI. Meaning if your language's compiler and t
by reificator 9y ago
Multiple language servers supporting multiple languages, each able to communicate over something more than the C ABI.
Meaning if your language's compiler and tooling are self hosted, you can write the plug-in in that language and leverage the very tooling used at build/runtime.
In other words, you can choose the right tool for the job. One that already exists and is tested, stable, and full featured. Or, you could rewrite everything in C or something that speaks it, run them all in the same process, meaning one bad plug-in brings the whole thing down.
And if you have to reimplement, that ups the chance that your version will behave subtly different than the real thing.
- skybrian 9y agoNot sure if you're agreeing or disagreeing, but I had in mind (for example) a language server supporting multiple languages that run on the JVM and a separate language server supporting languages that compile to JavaScript, etc. (This is assuming that reducing the number of processes improves performance; otherwise, a process per language might be simpler.)
- reificator 9y agoSorry for not being clear, I was agreeing and expanding on the pros of that approach.
- reificator 9y agoAnd yes, sharing would be nice, and I don't see a reason you wouldn't be able to at a glance. I haven't implemented the spec though.