-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: write server in ocaml #269
Comments
Another major advantage is ease of integration with editors beside vscode. |
OCaml as in OCaml syntax with ReScript, or OCaml with js_of_ocaml like vscode-ocaml-platform? To me, it would have been way harder to contribute. I think most people who learned ReScript are also familiar with TypeScript. I would prefer to have the server in ReScript. Sharing types should still be possible. But I also don't understand how the LSP-part is easier to integrate with other editors when it is not written in JS. If you think about moving as much logic as possible into the analysis binary or even another binary that gets called by a very lean |
We are talking about producing a binary, vs a bunch of .ts plus binary. |
Should we do this? |
My 5c is we should wait with this (and the related issue about rewriting the client in ReScript). My impression is that while migrating it to OCaml is a good long term goal, right now we should be prioritizing building crucial features, and onboarding new contributors. I think that's going to be easier to do in the current setup, at least for the foreseeable future. Put in another way - it's not super large, but there's a fair bit of code in the server, and porting it + ensuring it all works as intended is probably going to be a significant undertaking. I don't think we can afford that undertaking (including all the risks of a rewrite getting stale etc) right now, before we have a large and sustainable contributor pool. |
Related to this topic. The server side contains a lot of ts code. What I think can be moved to
If we move all logic to ocaml we can:
|
as more features being introduced in server the communication get's trickier (syncing types / deciding where some specific logic should live / avoid logic duplication). it might be good to think about writing the server in ocaml.
The text was updated successfully, but these errors were encountered: