Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] A style guide for Coq

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] A style guide for Coq


Chronological Thread 
  • From: Talia Ringer <tringer AT cs.washington.edu>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] A style guide for Coq
  • Date: Wed, 1 Dec 2021 16:09:32 -0600
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=tringer AT cs.washington.edu; spf=Pass smtp.mailfrom=tringer AT cs.washington.edu; spf=None smtp.helo=postmaster AT mx7.cs.washington.edu
  • Ironport-data: A9a23:DAnCUK4AqJZhTH0dDYXnxAxRtFXGchMFZxGqfqrLsXjdYENS0WAAzTAYWzuDM/jfMDGhKdl2PduypB5T6JKGyN5mSQcd+CA2RRqmi+KVXIXDdh+Y0wC6d5CYEho/t63yUjRxRSwNZie0SiyFb/6x8hGQ6YnSHuClUbScY3gqLeNZYH5JZSxLy7ZRbrFA2oDR7zOl4bsekuWHULOX82Yc3lE8t8pvnChSUMHa41v0iLCRicdj5zcyn1FNZH4WyDrYw3HQGuG4FcbiLwrPIS3Qw4/Xw/stIovNfrfTd11VBLXJexeHkXpXXae+hR4EqyAvuko5HKNAMQEO12/PxJYolIQlWZ+YEW/FOoXQguUbXBRCOyple7JP47/GJ3ejtsrVwkHbG5fp66oxVB1vYNdwFuFfXDgQpaJDQNwXVTiIgPvzy7amQMF3l8E7JY/qOpkeszdu11nk4VwOVciWG+OS8YYNhHFokpobRbCDc5FMMXwyeEuVXRxqLg5PXcNnw6P32iCkZ1W0s3qQtfVx6HOV0wVq0LnrP8bSfJqHSdg9o6pRnUqel0yRP/3QHIX3Jfu5HnOQaivnmDOkHokJUqKx7f5rhlKPwWpVBRELPbd+iZFVlWbmM++z6WRNksbtkUT23EewCMb0RB25pnGYuRhaVtZNewH/wB/Y0bLaum51GUBdJgOsq7UaWAseTidsyVaSn9LvCiBotvuYRW/1GnK8xd+tEXB9EFLurhPogefIDxcPbW3zYt/yog5fLZOI
  • Ironport-hdrordr: A9a23:02t9q6FV/DddeJkCpLqEjseALOsnbusQ8zAXPiFKOH9omq7xraqTdZEguCMc5Ax8ZJhCo7C90cu7L080nKQdieIs1NyZPTUO1lHGEL1f
  • Ironport-phdr: A9a23:iAB6SRJ0YlopRY/1dNmcuBNhWUAX0o4c3iYr45Yqw4hDbr6kt8y7ehCFvLMz1xSQANiTwskHotKei7rnV20E7MTJm1E5W7sIaSU4j94LlRcrGs+PBB6zBvfraysnAJYKDwc9rDm0PkdPBcnxeUDZrGGs4j4OABX/Mhd+KvjoFoLIgMm7yf2+94fSbghGizaxfLN/IRWrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs7Xims77pwSB/wligIKyI5/m/Qisx1lq1boRShrAF7z4PbZIyZMfxzdb7fc9wHX2pMRsleVyJDDY28YYUBDPcPM/hEoITmvVQCsQGzCBOwCO/zyDJFgGL9060g0+QmFAHLxBIuEMgKsHTVttr+KbscUeGzzKnH0zrDde5d1DDh6IjScxAhp/6MUqxqccfK1UYvDBnJj1uKpoz+PzOV1+INs2eH7+pnU+KjkXAopBxsojW2wMonl4bGiJ4PxF/e6SV53Jg6Jce+SENjYNOpEodduiKHOoV2Xs4vTH1ltSk1xLAYuJO3YCYExIgoyhPbdfCKcIyF7xPsWuiRLzp1gHNodr2/ihiy7EWtxOvxXdS63lZNqypKiNjMtnYV2hPJ8MiGRfp9/lm71TaIzQDT5flIIU81larHK54h36U/moASsUTEBiP2l0T2jLOWdkU54eek8fjoYrLjppKaKoR6iRn+P7wzlsGwHeg0KBUCUmeF9eim2rDv51D1TbpOg/EujKXVrJTXKd4Yq6O5GQNZz4cu5helAzu709kUg38KJ09fdh2dlYjmIVTOLej4Dfihh1Ssly9mx/XJP7DjGJnCMmPDnK3vfLln8E5cyAszzdZQ55JIDbEBJuj/VVHsu9zFFhM5Mgq0zPj7CNhly48TVn6DDrWEPK7dr1OE/OwiL/ORaIIavDvxM/0l6OTvjX89l18dZ66p3Z4PZXCkBPRmIkOZYXXyjdcbCmoFohE+QPbkiVKYSj5TZ3eyX6Qz5jEnD4KmC53PSZ6wj7ycxCu7BIFZZnhaClCQFnflb5mLW/AVaC6LPsBhliEEWqO6Ro861RCusRf6xKB9IurV/C0Yr5Pj28Jv6+3djxFhvQBzWs+ayiSGS3x+tmIOXT4/mq5l8mJnzVLW7aF8gvUQL91V6P5TGlMmL5/awOFgI9vpHB3IZdeITlm6RdPgDD0sGIFii+QSalpwTo3xxivI2DCnVuNE/1RkLJcvtL3VxHjwIclhzHCA2aU83QBOqipnMH35wKVksRfaHI7IlUqFkKDseKgBjnalHIKrxnHIo0hDUA92XrnCWzYSalaE9bzE

No comments on particular styles (different Coq communities have radically different styles, but I do agree with guides within projects). But in QED at Large, I talk about existing style guides for proof assistants, which you may find interesting:  https://arxiv.org/abs/2003.06458

On Wed, Dec 1, 2021, 3:58 PM Timothy Carstens <intoverflow AT gmail.com> wrote:
Do you have an opinion on how to style Coq code/projects?

I'm currently working on assembling a style guide for Coq projects. The goal is to provide clear recommendations that are informed by experience and guided by relevant use cases. I've included a brief FAQ at the bottom with more information.

The project is still in its infancy. I want the output to be relevant to you so I am reaching out to ask:

* Are you interested in joining this effort? It would be great to put together a small group of people who can help set the goals & manage the execution of this project.

* Do you know of any other good Coq style guides or similar resources?

* Do you have any other relevant thoughts/comments/suggestions that you'd like to share?

Kindly yours,
-t


Why adopt a style guide?

Everyone who interacts with code is impacted by code style. This clearly includes the project’s contributors, but it also includes other interested parties such as users and upstream maintainers. In other words, style is relevant to many different roles and personas engaged in many different use cases.

A style is “good” if it has a net-positive impact on those use cases.

Good style does not arise by accident; rather, it is engineered by carefully considering how different idioms & practices impact different use cases.

This is a lot of work to get right. Therefore, many projects adopt a style guide - either in full, or as a starting point for their own style.


What does a good style guide look like?



How does this relate to Requirements on the Use of Coq in the Context of Common Criteria Evaluations?

Requirements on the Use of Coq in the Context of Common Criteria Evaluations is a requirements document published by ANSSI and INRIA. While most projects are unlikely to be used in a Common Criteria Evaluation, the guidance offered by this document is valuable in other contexts as well.

With respect to coding style, the document says:

    There is no well-established coding style for Coq development. The present document does not attempt to fill this gap, but rather to identify and discourage known bad practices.

This style guide aims to fill this gap.




Archive powered by MHonArc 2.6.19+.

Top of Page