Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Using ppx_deriving in a Coq plugin

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Using ppx_deriving in a Coq plugin


Chronological Thread 
  • From: Valentin Robert <vrobert AT cs.ucsd.edu>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Using ppx_deriving in a Coq plugin
  • Date: Fri, 06 May 2016 23:34:54 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=vrobert AT cs.ucsd.edu; spf=Pass smtp.mailfrom=valentin.robert.42 AT gmail.com; spf=None smtp.helo=postmaster AT mail-yw0-f172.google.com
  • Ironport-phdr: 9a23:L3QVbR+iUQCO8P9uRHKM819IXTAuvvDOBiVQ1KB91eocTK2v8tzYMVDF4r011RmSDdSds60P0baempujcFJDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXsq3G/pQQfBg/4fVIsYL+lS8iK0I/ti6ibwN76XUZhvHKFe7R8LRG7/036l/I9ps9cEJs30QbDuXBSeu5blitCLFOXmAvgtI/rpMYwu3cYh/V0vcVHSODxe7kyZb1eFjUvdW4vroW/vh7aCACL+3E0U2MMkxMODRKTvz/gWZKkjCL+u+xh2S/SB8r8QKooEWC89aBhRQX0oCwccSMy622Rh8Bt2vEI6Cm9rgByltaHKLqeM+BzK/vQ

Thanks Emilio, this looks extremely similar to what I am trying to achieve! (I need a serializer for constr_expr)

- Valentin

On Fri, May 6, 2016 at 4:17 PM Emilio Jesús Gallego Arias <e+coq-club AT x80.org> wrote:
Hi Valentin,

Valentin Robert <vrobert AT cs.ucsd.edu> writes:

> I would like to know whether it is feasible to use ppx_deriving in a Coq
> plugin.

It is possible if you encapsulate all the logic in a ml file; mixing ml4
files and ppx is problematic, see the thread on coq-dev [1].

> I am currently building my plugin using a _CoqProject and coq_makefile. The
> generated Makefile.coq does not seem to use any of the fancy ocamlfind
> tooling, nor does it seem to cater for OCaml-specific flags (though maybe
> ZDEBUG/ZFLAGS could play that role).
>
> I would happily change this workflow if it meant I could use ppx_deriving.
>
> Does anyone have any experience with this?

jsCoq links with Coq and uses ppx to serialize data structures, see:

- https://github.com/ejgallego/jscoq/blob/master/coq-js/jssexp.ml
- https://github.com/ejgallego/jscoq/blob/master/coq-js/Makefile

I highly recommend you use ocamlfind.

I am indeed splitting serialization out of jsCoq to a plugin, I'll have
some code ready soon.

E.

[1] Message-ID: <20160226162505.GA23800@gargamel>



Archive powered by MHonArc 2.6.18.

Top of Page