-
Notifications
You must be signed in to change notification settings - Fork 13
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
Provide a "universal" VSIX, with the LSP server compiled in JavaScript #93
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems quite promising. We'll just have to check the impacts on performance (we can see to edit some of the NIST85 sources to check that 😉 — to be configured with dialect = "cobol85"
).
We'll refrain from merging right now, though: I'd rather let drom
continue to automatically manage/generate some of the files edited here.
FWIW, I have checked on a bunch of files from NIST85 and the performance difference, if any, is not noticeable on my machine — except that with the This is probably due to tail recursion not being handled properly by |
Yes I just made the same observations… do you think adding some |
As far as I know the |
Ah ok. That was in case that annotation could also be checked by |
|
Marking as draft because it seems I made a mistake somewhere — I thought this was using the bundled |
Several changes done here (at least the parts that change hard-wired entries to variables) seem reasonable in any case. Can those get it with a direct commit/separate PR so that the actual "javascript server" PR will include less changes? |
Labeling this as history. Performance issues with the Javascript+effects version seem to be too hard to deal with at the moment. Another way towards a "pure" web extension could be to compile the LSP server into WASM using |
528fdca
to
bf5d33f
Compare
De-historizing after more investigations… |
This is a first step towards fixing OCamlPro#76 (but does not entirely fixes it). It avoids the need to install an external superbol executable, and should work on all platforms. The bundled superbol-free.bc.js is used if the option `superbol.path` is set to `null`, which is the new default. Some performance investigation is needed -- if we find out that the js_of_ocaml version is too slow for practical use, we can make this not be the default.
421b3b2
to
fa9148e
Compare
Required updating to dune-lang 3.17
48e6c77
to
f54ffbe
Compare
f54ffbe
to
ea01da0
Compare
This is a first step towards fixing #76 (but does not entirely fixes it). It avoids the need to install an external superbol executable, and should work on all platforms.
The bundled superbol-free.bc.js is used if the option
superbol.path
is set tonull
, which is the new default. Some performance investigation is needed -- if we find out that the js_of_ocaml version is too slow for practical use, we can make this not be the default.