Stream: platform development

Topic: Create an LSP platform?


view this post on Zulip Damian Reeves (Jun 01 2024 at 13:31):

So I have the need for writing an LSP, and I was wishing it was really easy to get started with doing an LSP with a language with a functional feel. I thought about Rust, but I don't want to mess with the borrow checker, and then I remembered roc.
In a true shower thought I got to thinking, maybe LSP would be a great platform and it would ease the development of LSP servers for folks.
So first of all what do folks think, is an LSP platform a good idea?
Secondly, if it makes sense... what is the best way for me to get started?

view this post on Zulip Anton (Jun 06 2024 at 11:49):

@Eli Dowling may have a valuable opinion on this

view this post on Zulip Eli Dowling (Jun 07 2024 at 02:56):

I looked at modelling the LSP protocol in pure rock just using something like the basic CLI platform. It works and I got a reasonable way through it but hand implementing the LSP protocol is extremely tedious and boring, so I think my time would be better spent making a TypeScript type to roc type converter.
Currently roc is just not great for modelling certain data types present within the LSP protocol. Objects that are quite dynamic, or number enums or string enums. All take quite a lot of hand written type info to get working.
I'm away travelling right now, but I'll be back in a week or so and I can send you some examples and more info.


Last updated: Jul 26 2025 at 12:14 UTC