coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Emilio Jesús Gallego Arias <e AT x80.org>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] [ANN] coq-lsp preview release
- Date: Sun, 20 Nov 2022 20:21:20 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=e AT x80.org; spf=Pass smtp.mailfrom=e AT x80.org; spf=Pass smtp.helo=postmaster AT x80.org
- Ironport-data: A9a23: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 H4OevQymNledk0FIBG1frGeZiEqMUs=
- Ironport-hdrordr: A9a23:wzJI3qu12o2zuS3VIvJQb5/L7skDQtV00zEX/kB9WHVpm6uj5q aTdZUgpHjJYVMqM03I9urwW5VoLUmwyXcX2/h0AZ6HVAni/ESvKYRl85f6hwDnchefygc+79 YDT0GvMrPN5DFB5K6R3ODSKbkdKbe8nJxAyd2uqkuEgGtRCp1d0w==
- Ironport-phdr: A9a23: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
- Ironport-sdr: 637a7e31_+MqZVStQkQRkKNkZkQ4RuMpgEHFmj3Cg/xp8mH1PBIe5Iq3 kVnCnlma/8C/a4H1OA2nx+UFUIcCzAHOkxg4deg==
- Organization: X80 Heavy Industries
Dear all,
We are happy to announce the first preview release of coq-lsp [1], a
lightweight language server protocol [7] server for Coq.
coq-lsp is based on work we have been doing for the last few years, in
particular with jsCoq [2] and lambdapi's [3] language server protocol.
coq-lsp is not yet ready for production, as there are known issues. On
the other hand, we have tested coq-lsp with popular Coq developments
such as Software Foundations and we find it usable. See below for the
main known issues you should expect when using this release. So please
try it and give us feedback if you are feeling a bit adventurous.
The easiest way to install coq-lsp is using its opam package, which
should appear in the opam repository any minute now. That will install
coq-lsp for Coq 8.16.
The `main` branch which targets 8.17 will benefit from quite a few
bugfixes and improvements in latency that we did upstream.
A vscode client is provided in the vscode marketplace [5]; the server
has been also tested on Emacs using eglot [6]
coq-lsp departs from the traditional interaction paradigm in Coq, and
instead tries to implement continuous document checking, which is a
better fit for current UI models.
We hope to develop coq-lsp in an open manner, with (almost) weekly
developer meetings upcoming.
Some features in this 0.1.0 release are:
- Incremental compilation and continuous document checking
- Smart, cache-aware error recovery
- Whole-document goal display (Press Ctrl-Enter to display goals at point)
- Markdown support
- Document outline
- Timing and memory stats
- Client-side configuration options
- Standards-based, modular implementation
Release 0.1.1 should happen for Coq 8.17 beta.
In addition to the authors of the original lambdapi implementation
(Frédéric Blanqui, Rodolphe Lepigre, and myself, among others),
contributors to this release are:
- Ali Caglayan
- Shachar Itzhaky
- Ramkumar Ramachandra
Let us know what you think in our Zulip channel [4]
[1] https://github.com/ejgallego/coq-lsp
[2] https://github.com/jscoq/jscoq
[3] https://github.com/Deducteam/lambdapi
[4] https://coq.zulipchat.com/#narrow/stream/329642-coq-lsp
[5]
https://marketplace.visualstudio.com/manage/publishers/ejgallego/extensions/coq-lsp
[6] https://github.com/joaotavora/eglot
[7] https://microsoft.github.io/language-server-protocol/
Kind regards,
Emilio J. Gallego Arias
coq-lsp 0.1.0 known issues:
---------------------------
- Opening two files will incompatible parsing rules will break parsing
for both. This is Coq issue #12575, (and affects all IDEs).
- coq-lsp can't resume parsing reliably: this means that for each edit
or request, coq-lsp must re-parse the document. This makes coq-lsp
quite inconvenient to use in large documents, and precludes many
interesting features like on-demand document checking.
The problem seems to come from Coq's parser needing some more work in
order to reliable support restarting from every possible source
location; we hope to fix it for Coq 8.17.
- Overall, Coq upstream still needs many changes in order to implement
reasonable features, help is much welcome if you wanna contribute!
- [Coq-Club] [ANN] coq-lsp preview release, Emilio Jesús Gallego Arias, 11/20/2022
Archive powered by MHonArc 2.6.19+.