Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] ensuring .v files have no query commands

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] ensuring .v files have no query commands


Chronological Thread 
  • From: Tej Chajed <tchajed AT mit.edu>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] ensuring .v files have no query commands
  • Date: Fri, 18 Feb 2022 16:18:53 -0500
  • Authentication-results: mail3-smtp-sop.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-data: A9a23:7KplFqBjFsdV2BVW/1Llw5YqxClBgxIJ4kV8jS/XYbTApDoq3jJRz mJJUGHUOfiPNDT8e9gjbdnnpk4PvZWHn9RmOVdlrnsFo1Bi+ZOUX4zBRqvTF3rPdZObFBoPA +E2MISowBUcFyeEzvuVGuG96yE6jMlkf5KkYAL+EnkZqTRMFWFx2XqPp8Zj2tQy2YLgU1vX0 T/Pi5S31GGNi2Yc3l08sPrrRCNH5JwebxtF1rCWTakjUG72zxH5PrpHTU2CByeQrr1vIwKPb 72rIIdVUY/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8A/+v5TCRYSVatYowSYh95ey PxTjsPzTBwNM4zTgf4AQzANRkmSPYUekFPGCX+ircOUzkvJNX7t37NjAFxe0Y8wo7YxUCcUp bpBcVjhbTjb7w6y6K6wSuBui8gLKcj3eo4TpxmMyBmHVqd/G8+fK0nMzdEJxRULj/wJIdvTV chBdDNkRTr9WBIabz/7D7pnwb7z3RETaQZwo1WM4KEz/mL71x10yLGrMdzPe9XMS989o6qDj mXb42v+AxcVcdWC1TrAqzSph/OJkC/mMG4PKFGm3s97mFO8xkUNM0JVUECfrNimk1SjS/sKf iT45REShaQ18UWqSPz0UBu5vGOIs3Ygtzx4TrZSBOall/G83uqJOoQXZmUeN4F+5afaURRvh wDZxYq4bdB6mOTNESr1y1uCkd+l1cEowYIqYjIYQgwE5damqZwvjleWCNNiDOi4gsCd9dDML 9Ki8nJWa1Y71JVjO0CHEbbv2GPESn/hFV9d2+kvdjj5hj6Vnab8D2BS1XDV7OxbMKGSRUSbs X4PlqC2tb5SUMjXznLVG7lRQNlFAspp1hWC0DaD+LF/qlyQF4KLIOi8HRkkfR84a5ZYEdMXS BWD5185CGBv0IuCNPIuONnZ5zUCyKH7Dt3uVu3PY8ZSedBwchSb/T1zeUPY2G6ljEUnkac4P ZCUYK6R4YUyV8xaIM6Nb75Fi9cDn3lmrUuKHMCT50n5jdK2OSDEIZ9YYArmRr1ot8us/VSFm /4BbJHi40sED4XDjtz/qtN7waYidiRgWvgbaqV/Koa+H+aRMDt/U6SImet5IeSIXc19z4/1w 510YWcAoHKXuJENAVzihqlLZOy9UJBhg2g8OCBwb1+k12J8M4Ou8OESe4ZuJesr8+lqzPhVS fgZepnQX6oSFmifozlNP4PgqIFCdQiwgV7cNSSSZjViLYVrQBbE+4O5cwa2rHsOAyO7uNEQu bql0g+HE5MPSx49XsPXdLSiw07o5SoRn+d7Xk3pJNhPeRm8rdY3d3Cp1vJuepMCMxTOwDeex j26OxZAqLmfuZIx/fnImbuA89WjHdx4ExcIBGLc97u3aXTX82f/k49NVOGEIWLUWG/uofvwY vhJwPb9NvJBmVdW9YdwDu8zn6454tLuoZ5czxhlQCWWMQn3Vus4LynUx9RLu41M2qRd5Vm8V HWJ94QIIr6OIs7kTAMcKVZ3dOiFzv1IyDDe4e5vexf9+TN4+7uBXgBbIgWMzXUbKbppdo4p3 L556sIR7gW+jDssM8qH0nAJqTnQciRYXvV1rIweDa/qlhEvlgNIb6vaB3Kk+5qIcdhNbhQnL zL8aHAuXFiAKpcuskbfFEQhGcJamIgBvxFMwxkHJkjPl9bY7hPyMNu97hxvJjm5DD0euw6wB oSvH0h0OeOD8yoAaA1rQTW3Aw8YbPGG0hWZ9rbK/VE1i2GtV3CLIWEgUQpIEIb17EoEFgVmE HqkJKoJnNokkAwdHsf/ZKK9l8HecA==
  • Ironport-hdrordr: A9a23:kwdn46q1huj4eY4RcNYNknoaV5oLeYIsimQD101hICG9E/bo7v xG885rtyMc5AxhO03I3OrhBEDiex3hHPxOkO0s1N6ZNWGM0ldAbrsC0WKI+UyGJ8SRzJ866U 6iScVDIey1I1xzjcO/xhK5HdYmyNzC1Kyzn+/RwzNMYGhRGsRdBstCZjpz23cYeDV7
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: a3EGpecPj8NyuMrFM9PhqcAAHOFvpS0qb2HL7faf9EMMGNcSG27JaliIEEWWo6cniDJkBPaQcN 7zkx/WRQrcHJSal9KXJXLRBY6YWYvJhGtAbMybEjNRGRf8WDten7NMTlYtdf4tmc8xePD912i0 UolHH53I1pQjOKiaxBRYaCo+OkF9y1jz3HbKOUBYfrF7/8ZjN94Ca6W8+eXAsUuxdsbVl637n/ gk/1tuUQqZl/QabY/2mk0RkGJzjNcTKuHbRa6OunHomx7oHlSKmiIGkeH+ZLSNb0UZOHdk1p72 CMWMgNECUMiHnIVSSkGQmoGz

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/linter 

I have slowly been working on such a thing but it is not yet in a “production ready” state

Just for fun, the repo is here:

https://github.com/appliedfm/vstyle-tools

Sent from my iPhone

On 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




Archive powered by MHonArc 2.6.19+.

Top of Page