Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Building an ml plugin for Coq 8.5pl2

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Building an ml plugin for Coq 8.5pl2


Chronological Thread 
  • From: Théo Zimmermann <theo.zimmi AT gmail.com>
  • To: coq-club AT inria.fr, Kenneth Roe <kendroe AT hotmail.com>
  • Subject: Re: [Coq-Club] Building an ml plugin for Coq 8.5pl2
  • Date: Mon, 11 Sep 2017 13:31:59 +0000
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=theo.zimmi AT gmail.com; spf=Pass smtp.mailfrom=theo.zimmi AT gmail.com; spf=None smtp.helo=postmaster AT mail-qt0-f169.google.com
  • Ironport-phdr: 9a23:zjDHNBBxB/kWA1BzFyjJUyQJP3N1i/DPJgcQr6AfoPdwSP76ocbcNUDSrc9gkEXOFd2Crakb26yL6+jJYi8p39WoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6lX71zMZGw3+OAxpPay1X9eK14Xkn9y1rpbUekBDgCe3SbJ0NhS/6wvL8oE1jI1kJ7oxgiHOrzMceOlQyXlvKHqTmAr578a0upVk9nIDlegm8pt8UST9SJY5SLlVFjEvNWZ9sNHruB6FXwqK43o0XWAfkx4OCA/AukKpFqztuzf347IukBKROtf7GPVtAWyv

Hi,

I don't think Emilio insisted enough.
When building a plugin, don't target an old, unsupported version of Coq. The plugin API is evolving quite fast and you are creating problems for yourself in the future by not using the latest version of it (at some point you will want to update to a more recent version and you will need to do the porting work which you wouldn't have needed to do were you using this version in the first place).

I'm betting that you are using Coq 8.5pl2 because this is the version distributed with Ubuntu 16.10. If you update to Ubuntu 17.04, you will benefit from Coq 8.6. But note that the best way to get the latest version of Coq is not to use your distribution's package manager. Instead, you can turn to OPAM (or Nix, which is a less well known alternative).

Théo

Le lun. 11 sept. 2017 à 11:05, Emilio Jesús Gallego Arias <e AT x80.org> a écrit :
Kenneth Roe <kendroe AT hotmail.com> writes:

> Actually, I figured out this error.  It turns out the files in the
> .mllib file need to be ordered by dependencies.

Indeed.

> Env

Be extremely careful here! You are using a module name in your plugin
that clashes with a module defined by Coq `Env`. This is bad, and even
if it works in practice, could create all kind of undefined behaviors.

You have to choices to solve this problem:

- rename your env module such that its name becomes globally unique
  [wrt Coq and all the plugins you may ever load]

- Move to 8.6 and use a .mlpack file, so your plugin's modules will be
  "packed" and these kind of conflicts are avoided.

E.



Archive powered by MHonArc 2.6.18.

Top of Page