coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Christian Doczkal <christian.doczkal AT ens-lyon.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Anybody uses the Quote plugin?
- Date: Tue, 31 Jul 2018 14:43:37 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=christian.doczkal AT ens-lyon.fr; spf=Neutral smtp.mailfrom=christian.doczkal AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
- Ironport-phdr: 9a23:SUIpnhW2r8rail8OBMnDHdiA0RvV8LGtZVwlr6E/grcLSJyIuqrYbBWAt8tkgFKBZ4jH8fUM07OQ7/i+HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba9zIRmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W/KlMJwgqJVrhGvqRNxzIHbYp2aOvVlc6PBft4XX3ZNUtpfWiFDBI63cosBD/AGPeZdt4TwuVsOrQG/BQm3GOPvyyVHhnnr1qM01OQuDQDH3A86ENIKrX/Zq8n6NKcIUeC016nI0TTDYOlQ2Tvn9YfIdQwuoPCPXb1qdcrc0lcgFwXejlmJrYzkPzSV1uIXv2iV9eptTOSigHMppQF2pzig3MYsio/Ri4Iay1DE6SV5wJsuKtGiVEF7ZtukHZ1NvC+ZL4t7Wt4uTm50tCogyLALu4S3cDULxZkl3RLTdeKLf5aQ7h7+W+udPS10iXBndb6lmhq/8lSsxvfhWsWp0VtHqDdOnMPWuXAXzRPT79CKSvtj8Uel3jaCzwTT5ftfLk8vi6XXMYAuwrgrlpYKtUTCHij2mEPsgK+YbEUo4umo6+L5bbX6vpKQKoB5hh3kPqksmMGzG/k0PwkMUmSB5+iwyqPv8VX8QLpQj/02lqfZsIrdJcQevqO2Hw9V0pwi6xakEzem0c4XnX8dIF1YfxKIk4noO1LUL/D8FvqwnVKskCxyy/DCPrzhBZPNImLNkLf7Zbp98VJTyBIvzdBD4JJZEq0OIPXqWkPoqNPYCgI5PBevzub8CNR905seVniVDq+YNqPSq16I6fg1L+mCfo9G8Ar6fvMi/rvliWIzsV4bZ6igm5UNO16iGfEzCEWDYGHwg94HWUsNtRg9Reii3FaCSz9Ie3e7WeQw4TopC4uiJYrFXcWpkbuHmimhSM4FLltaA0yBRC+7P76PXO0BPXrLc51R1wccXL3kcLcPkBSntQv00b1id7GG9ysD8Jby094z6feBz0hupwwxNNyU1iS2d08xhnkBHmRk0aZk5EhszVHF37Iq26UFR+wW3OtAV0IBDbCZz+F+DImjCAbIdN2EDlugWZCiEDY3CNwrkYcD
Hi,
I found one use of quote "in the wild": Adam Chlipala's CPDT.
Indeed, teaching is one reason why it might be good if Coq where to ship
with some easy to use reflection mechanism supporting, like quote does,
simple data types and foreign subterms.
So keeping quote and developing it to the point where the reflective
tactics shipped with Coq (can) make use of it, might be worthwhile. I
suppose that would require handling type parameters (denote : ∀ X,
varmap X -> tm -> X), or allowing quote to take a nonempty initial
varmap (to ease reifying two sides of an equation with a common varmap,
etc.
The, closely related, question that got me interested in this is: What
is currently the simplest way to do reification into ones own
inductively defined data type (with variables) in such a way that the
variable map containing the foreign subterms is injective not just with
respect to syntactic equality but with respect to conversion.
Best,
Christian
On 22/07/18 11:35, Hugo Herbelin wrote:
> Hi,
>
> Somehow, a question is also whether it would be worth that someone
> eventually provides a generic-enough quote function in Coq, for use at
> both the vernac level or the plugin level.
>
> My understanding of the Gross-Erbsen-Chlipala ITP 2018
> reification-by-parametricity paper is that this quote function almost
> already exists, it is "pattern". Then, what about going in the
> direction of providing a variant of "pattern" which encapsulates the
> boilerplate of the technique and which, maybe, also abstracts over the
> foreign subterms?
>
> Idem at the plugin level. Already e.g. ring, micromega, btauto have
> their own reification mechanisms (sometimes even in Ltac) and this
> seems suboptimal.
>
> Best,
>
> Hugo
>
> On Fri, Jul 20, 2018 at 11:45:32AM -0700, John Wiegley wrote:
>> I would also support dropping Quote; each time I've been able to use it, I
>> ended up just copying Ltac macros from existing templates so I would have
>> the
>> configurability needed for future changes.
>
> On Fri, Jul 20, 2018 at 08:41:28AM -0400, Tej Chajed wrote:
>> I definitely support getting rid of Quote. I used it once and then ran
>> into an
>> issue: my unquote function took a type parameter, which is unsupported,
>> even if
>> you try specializing it. I talked to Jason Gross, copied some code from
>> their
>> reification-by-parametricity paper, and got it working fairly easily in
>> pure
>> Ltac.
>>
>> It would be great to have some examples from that paper coped into the Coq
>> test
>> suite and try to give it visibility, instead of maintaining Quote. It's a
>> more
>> powerful technique and I believe with just a little boilerplate can replace
>> uses of Quote (if anybody actually weighs in and is using it).
>>
>> On Fri, Jul 20, 2018 at 3:20 AM Maxime Dénès
>> <mail AT maximedenes.fr>
>> wrote:
>>
>> Dear Coq-clubbers,
>>
>> I'm trying to clean up the set of plugins shipped with Coq, so that we
>> can make the maintenance done by the development team more focused and
>> effective.
>>
>> I was wondering if anybody was using the Quote plugin in real-world
>> developments. See https://github.com/coq/coq/pull/7894 for more
>> context.
>>
>> Thank you in advance for your feedback!
>>
>> Maxime.
>>
- [Coq-Club] Anybody uses the Quote plugin?, Maxime Dénès, 07/20/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Tej Chajed, 07/20/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, John Wiegley, 07/20/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Hugo Herbelin, 07/22/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Matthieu Sozeau, 07/23/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Jason Gross, 07/27/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Christian Doczkal, 07/31/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Matthieu Sozeau, 07/23/2018
- Re: [Coq-Club] Anybody uses the Quote plugin?, Tej Chajed, 07/20/2018
Archive powered by MHonArc 2.6.18.