Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] emit .vo file during interactive editing

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] emit .vo file during interactive editing


Chronological Thread 
  • From: Tej Chajed <tchajed AT mit.edu>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] emit .vo file during interactive editing
  • Date: Fri, 2 Apr 2021 15:25:41 -0400
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=tchajed AT mit.edu; spf=Pass smtp.mailfrom=tchajed AT mit.edu; spf=None smtp.helo=postmaster AT outgoing.mit.edu
  • Ironport-hdrordr: A9a23:HPg7Pq5Sc/p3jxXNxgPXwGjXdLJzesId70hD6mlaTxtJfsuE0/2/hfhz726MtB89UGwt8OrwWpWobmjb8fdOkOosFJekGDLroW65aLxlhLGD/xTFOwnTstFQzr1hda8WMrPNJHx3l9zz7gX9M/tI+qjizImSie3Tz2hgQGhRAskKhTtRMQqVHlZ7QwNLH/MCdaa03NZNpDarZB0sH6OGL0QCNtKzweHjpdbJZVojCwQ84AeDyQm04KP3eiL04j4uFx1KybcmtU7fkwL44a2n99W20AXV2WOWz7k+oqqF9vJzQOKLjMYRJnHXjhuwIL5mR6aJsFkOzN2H2RIQnNPBowgtMq1IhE/sQg==
  • Ironport-phdr: A9a23:QAG1KxQtSWGCyyNuatyGv5lcJ9psomKfAWYlgqEPu/d1aq2muq7aFwnh351FslbFUM3h5u5ejKKO6ua8AD1GuMjf+ylaL9RlbFwssY0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfQV6Kf7oFYHMks+5y/69+4HJYwVPmTGxfa5+IA+5oAnMssQam5ZuJ6cwxxfGv3dEZ+Zbzn50KFyOmBrx+t2+94N5/SRKvPIh+c9AUaHkcKk9ULdVEjcoPX0r6cPyrRXMQheB6XUaUmUNjxpHGBPF4w3gXpfwqST1qOxw0zSHMMLsTLA0XTOi77p3SBLtlSwKOSI1/H3Rh8dtiq9QvRCvqAFlw4PMb46VOvhxcKPTc90ZWGRPQNpeWjdbDY+gdYYCFfYNMfpaooT7ulAArQG+BQ6pBO731DFHmH321rAk3uQhCw7G3hIvEM8Tu3nTsNX6KKcSXvq3zKbW0DrOdPZW2Tbh6ITSbB8uvOyMUKt2fMHMxkYhCxnLgU+MqYz5ITyVzOINvnCU4ed8SO+jlm0qph1yrzWtyMkhlIjEi5wJx13a6Cl0zpo5K922RkJnYdCqHplduS6ZOoZyQM4vX29mtTokx7Abv5OwYSYEyJMixxHFavyHdZCF4h3iVOaNITd4mWlqdKijiBa19Eis0vHzVs6u0FZMsCVFlt3MumoT2BPO98iKTOZ28ES52TuXygze6ftILEQumabFKJMt2KM8mocLvUjdAiP7nF/6gayWe0k+5OSk9ubqbq/mq5OBMYJ/lxvwPb40msOlBOQ1KggOUHaf+eS7zLDj+lD5QKlFjv0xk6nZtp/aKd4epq64Hw9ZyJgs5AuiDzu+0dQYm2cILE5ddR6ajIXlIVXDLOrmAfq8mVigjSpny+jDPrL7A5XNKnbDkK3mfbZ480Nc1BY8zdBF6JJWFL4OPen+WkrwtNzEFBM2LRG7w/v/BNVnyoweQX6PArOeMK7KrVCI4fsvL/CQa48RpTbyMOMo5+XujH88gV8SZ7Ol3ZoRaHCiH/RpOV+VYXT2goRJLWBftQ0nCefulVfKBTVUfjO5W782zjA9EoOvS4nZENODmruEiRu2HNV9ZmlEB1zERWvjd4yGVvskbSOOZMJtj2pXBvCaV4Y92ET250fBwL19I7+MkgUo8Kn73d0w3NX90BQ79Dh6FcOYu0mITn0yk28VFWZe9JA6mlR0zxK46YY9g/FcErR74O5VXQA7M5Gayu1mTd3+R1CZFv+5DW2+S9DjOgkfC8oryrcmZkdhXdiuk0Kbtxc=

I would second using vos and vok to speed up your development workflow.

Along the same lines we unsoundly skip Qeds during CI but check them locally. Unfortunately Coq doesn't have a native way to do this (see https://github.com/coq/coq/issues/10036), but you can basically implement the feature with sed: https://github.com/mit-pdos/perennial/blob/master/etc/disable-qed.sh (this is really a shameless plug for this hack, and a plea to get #10036 implemented so we don't need a hack).

At least in our development Qeds take about 20% of the compilation time so this is a pretty big performance improvement for a single change. I also think it's quite safe since I haven't seen a failure at Qed time in a long time, and never since I started using Iris. If you do a lot of computation in a proof that might not be the case (you might have horrible performance at Qed time that needs to be fixed eventually), or if you use fancy universe features like universe polymorphism (you'll be more likely to run into bugs that only show up at Qed time).

On Fri, Apr 2, 2021 at 2:11 PM Pierre Courtieu <pierre.courtieu AT gmail.com> wrote:
Hi

I think this feature disappeared at some point. But you can reduce
drastically your waiting time by building ".vos" instead of ".vo".
Unsound but extremely fast.

My mojo:
1) add "Proof using ..." annotations everywhere in your sections,
otherwise the compilation time will not decrease. There is a mode in
proofgeneral where these annotations are added automatically when you
pass a Qed.
2) compile .vok from time to time to check proofs.
3) compile .vo file to really check universe constraints once a day
(or week maybe if you don't expect such problems).
Best
Pierre

Le ven. 2 avr. 2021 à 19:27, Abhishek Anand
<abhishek.anand.iitg AT gmail.com> a écrit :
>
> Very often, I have a file X.v which I know has errors.
> So to fix them, I can only edit it interactively, e.g. in emacs/company-coq
> When the fixing is done and the whole buffer has been processed by coq, can I ask the editor/coqtop to dump a .vo file for the current .v file?
> Otherwise, I have to reprocess the whole file by coqc outside the editor which can take many minutes.
>
>
> -- Abhishek
> http://www.cs.cornell.edu/~aa755/



Archive powered by MHonArc 2.6.19+.

Top of Page