coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Pierre Courtieu <pierre.courtieu AT gmail.com>
- To: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] ensuring .v files have no query commands
- Date: Mon, 21 Feb 2022 18:15:33 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=pierre.courtieu AT gmail.com; spf=Pass smtp.mailfrom=pierre.courtieu AT gmail.com; spf=None smtp.helo=postmaster AT mail-qv1-f43.google.com
- Ironport-data: A9a23:Ta3yFa2SP5NQzLIbZ/bD5ep3kn2cJEfYwER7XKvMYLTBsI5bpzRWx 2sXC2+DPPrfZWHwKNoja4Xi8kIPup+DnIdjSQo63Hw8FHgiRejtVY3IdB+oV8+xBpSeFxw/t 512hv3odp1coqr0/0/1WlTZhSAgk/nOH9IQMcacUsxLbVYMpBwJ1FQzy4bVvqYy2YLjW1nX4 IuoyyHiEAbNNwBcYjp8B52r80sHUMTa4Fv0aXRjDRzjlAa2e0g9VPrzF4npR5fLatU88tqBe gr25OrRElU1UPsaIojNfr7TKiXmS1NJVOSEoiI+t6OK2nCuqsGuu0o2HKJ0VKtZt9mGt90uz McVq4GgdQtzHLaVtuRadDxJDT4raMWq+JefSZS+mcmazkmDamW1hvsyVwc5OooX/usxCmZLn RAaAGpVP1bT2qTsmeP9FrIEascLdKEHOKsHu3x61zyfBvE7W4zCTrji6tpR3TN2jcdLdRrbT 5BDNGM0MESQC/FJEnYSBZ8/g8i5v1qlaz8Fog+2hZUuvUGGmWSd15C0aIaPEjCQfu1emV/dr Wbb9UziExQCPZqezyCE+zSinIfycTjTXYsTEPih6KcvjgHIgGMUDxISWB2wpvzRZlOCt8x3J hMQ6HIwsLgO+BaJVYDTX1qfhW+aoUtJMzZPKNES5AaIw6vSxg+WAGkYUzJMAODKUudmG1TGM XfZz7vU6SxTXK69Ei3Cq+/Fxd+mEW1Ecj9YPH5soR4tuoG7+OkOYgTzosGP+ZNZY/XwEDD0h imU9W0w2+5VgskM2KG2u1vAhlpAR6QlrCZlu207vUr/tmuVgbJJgaT2szA3Ct4edO6koqGp5 iRspiRnxLlm4WuxvCKMWv4RO7qi+uyINjbR6XY2QcV8rGT0qyb7Jt4IiN2bGKuPGpZaEdMOS B+D0T69GLcOVJdXRfMtOtnpUpxCIVbITIy6DqG8giVyjmhZLVfbpkmClGaf2GfilEVErE3ME cbzTCpYNl5DUf4P5GPuGY81iOZzrghnnD+7bc2lknyPjOXGDFbIGO9tGAbfNYgRsfLUyC2Lq Ys3H5XRkH13DrauChQ7BKZJcjjm21BgVc6owyGWH8bfSjdb9JYJUaGJmup5I9Q/90mX/8+Rl kyAtoZj4AKXrRX6xc+iMxiPsZvjAsRyq2wVJyspMQr60nQve9f946IWdp9xdr4irbQxwflxR vgDWsOBHvUfEmSdq2pBNcHw/N54aRCmpQOSJC76MjUyephXQQaWqNLpew3Y8jYDU3isvswkr rz8jQ7WGMJRRwlrAMvMRuioyle94SoUlO5oDhnHJ9BSfAPn940zc379ifo+IsctLxTfx2vCh 1zGX0tA/eSU+t076tjEg6yAvryFKeomExoIBXTf4Ja3KTLeoTiuzIpGZ+CCImLQWWbyz6O9P LkHwvz5NsoHq1ZEqY9LFbhmkPAl7Nz1qr4GlwlpESmZb1mvDb88cHCK0dMV7f9Iz75d/BKoA weBpoIcNrKON8foVlUWIVN9POiE0PgVnBjU7Og0cBqmvn4ppOLfXBUAJQSIhQxcMKBxbNEvz 9AntZNE8Ae4kBcrbouLg3wG7WiKNXBcAawruotAW93ugwsvj0hcONnSVnSw75aIZNFBdEItJ 2bM1qbFgr1dwGvEcmYyRSeRh7sD3cxWtUAY1kIGKnSIhsHB2q090ipX/GllVQ9S1BhGj79+N 2UD25eZ/klSE+qERfSvXlxA3ylEDRydv1Xvkh4HyDafQE6vWWjAamY6PI5hOazfH310JlBmE HOwkQ4JkgoGuOn+2yIzXQhurPmLoRlZ6FjZgM7+dyiaN8BSXNcm65NCoUIHrhLmBYU6g0ivS SyGOgpvQfWTCBP8aJHXx2VXOXr8hfxEyKF/rSldwZ40
- Ironport-hdrordr: A9a23:rzC5kKx+NkTYeb0HjoveKrPwFb1zdoMgy1knxilNoH1uA7Wlfq WV9sjzuiWE7Qr5NEtQ++xofZPwIk80lqQV3WByB8bHYOCOggLBR72Kr7GD/9SKIVyYygcy79 YHT0G8MrHN5JpB4PoSLDPWLz/o+re6zJw=
- Ironport-phdr: A9a23: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 50JRbtWElcyE6FCYqyKNNMHKZZzGDgjlOzC5PM=
- Ironport-sdr: LKmY+umM5MvXkHaDjBDFabuvCNkc10TODXrZSRj/ouBU6R//wUG8BQtgh63WnvjmPvXq1h6H13 bt0768cKswZ29WORow3zRCJgz7NjJ0Az9NtfXSwDXkNsQmjpsA0uH18zHbpi7OHTR6rC25PgpU 3NudKeK5cChP+6gLkDNYKeXofKeKdeWXovFL+C5XDtT+tgDHq/r4mZeqp/X+3JgAOEUYUQ5eVt O5vJskCnR62zsC9rxwEEgWYV8h0USC/qKXrxIRLxahJrCuh1RVAeASA8Kel+RyEcdqlb1bcItm y6jahfveOuVLoXWKxJ5Dj7D8
Hi,
I wouldn’t call ltac “human readable”. Only gallina (commands like lemmas statements, but not tactics) is readable to me. I find proof scripts, being interactive and highly imperative, are not readable without replaying them.
IMHO Most printing command are for interactive purpose and should not remain in the .v file (and should better not be written in a file since most IDE allow to send them to coqtop without writing them in the file).
That said I often use special commands in dedicated files, for instance a few "Print Assumptions <mylemma>" precisely to see the output at compile time. I could also do a few Print and Check to ensure critical definitions have not been changed. So IMHO there should be some way to tell "yes please do this even at compile time". Is there such a way?
Best,
Pierre
Le lun. 21 févr. 2022 à 08:28, Vedran Čačić <veky AT math.hr> a écrit :
I never understood what's the point of that. Coq scripts are not just "for machines to execute", they are also "for humans to read", and in that context, occasional Check, or Print, or even Search, can be very informative. Previous versions of Coq warned of such usage, now I see the warning is gone, and I was happy because I thought it signified that query commands are officially supported in scripts now. Obviously I was wrong, but I still don't understand why you hate them.pet, 18. velj 2022. u 22:19 Tej Chajed <tchajed AT mit.edu> napisao je:This kind of problem is hard in general because you need to process comments and strings at a minimum. However if you’re just trying to catch stray commands that trusted developers make, I would think
rg -g '*.v' '^\s*(Search|Locate|Print)\b'
would be a pretty good solution. I'd be curious where this kind of regex fails for your use case Abhishek.Adding the feature to Coq itself has the downside that the check is coupled with compilation, which is much slower than a simpler syntactic check.
On Thu, Feb 17, 2022 at 10:52 PM Abhishek Anand <aa755 AT pm.me> wrote:for just checking compliance, would it be easier to have a hook in coqtop/coqc that errors on query commands?--Abhishek Anand------- Original Message -------
On Thursday, February 17th, 2022 at 10:09 PM, Timothy Carstens <intoverflow AT gmail.com> wrote:
This would be (another) good feature for a Coq formatter/linterI have slowly been working on such a thing but it is not yet in a “production ready” stateJust for fun, the repo is here:https://github.com/appliedfm/vstyle-toolsSent from my iPhoneOn Feb 17, 2022, at 4:39 PM, Abhishek Anand <aa755 AT pm.me> wrote:Has someone written some automated check to ensure .v files dont have leftover query commands like Locate/Print/Search?If not, what would be an easy way to do it?Naively, I thought I could write a regexp search with grep, but with unicode in identifiers and the rich syntax of Search, I'm not sure how to do it.--Abhishek Anand
Vedran Čačić
- [Coq-Club] ensuring .v files have no query commands, Abhishek Anand, 02/18/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Timothy Carstens, 02/18/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Abhishek Anand, 02/18/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Tej Chajed, 02/18/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Vedran Čačić, 02/19/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Ralf Jung, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Freek Wiedijk, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Ana Borges, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Ana Borges, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Freek Wiedijk, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Ralf Jung, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Pierre Courtieu, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Vedran Čačić, 02/19/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Abhishek Anand, 02/21/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Tej Chajed, 02/18/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Abhishek Anand, 02/18/2022
- Re: [Coq-Club] ensuring .v files have no query commands, Timothy Carstens, 02/18/2022
Archive powered by MHonArc 2.6.19+.