News for hackers. Stuff that matters.
Re:LSP: The Good, the Bad, and the Ugly by aidenn0 on Friday September 06, 2024 @07:34PM (#41470482)
1. I use zero languages that use either PDB or DWARF that are not named "C".

2. You are either overestimating the level of detail available in PDB/DWARF or underestimating the massive amount of language-specific work needed for even basic features (e.g. methods, which lack any cross-language ABI) given just what PDB/DWARF give you.

3. What LSP provides and what PDB/DWARF offer are only very loosely related. Consider the case of writing function1, then (without compiling) writing function2 that calls function1. It is typical for an LSP to offer completion and argument information when writing out the call for function1. That's not something you get "for free" with PDB/DWARF.

Re:LSP: The Good, the Bad, and the Ugly by forrestthewoods on Friday September 06, 2024 @07:58PM (#41470583)
> You are either overestimating the level of detail available in PDB/DWARF

Uhhh. I didn’t say PDB/DWARF already have the necessary information. In fact I even proposed a new file format! I suggest you re-read what I said.

> Consider the case of writing function1, then (without compiling) writing function2 that calls function1. It is typical for an LSP to offer completion and argument information when writing out the call for function1. That's not something you get "for free" with PDB/DWARF.

What do you think LSP servers do in the background? They’re effectively compilers that are CONSTANTLY compiling the code.

Amusingly rust-analyzer takes longer to bootstrap than a full and complete clean and build. Maybe it’s not as parallel, I’m not sure.