An example Coq plugin.
Copyright 2010 Matthieu Sozeau email@example.com Distributed under the terms of the New BSD License, see LICENSE for details.
Updated for Coq 8.4pl2 and 8.4pl3 by Wojciech Jedynak firstname.lastname@example.org.
This archive contains an example Coq plugin that implements a tactic to get the constructors of an inductive type in Ltac. It serves as a documented example on both the plugin system and how to write simple tactics in OCaml.
The archive has 3 subdirectories:
src/contains the code of the plugin in
constructors.mland a support file for building the constructors plugin;
theories/contains support Coq files for the plugin.
Dynamic.vis referenced from the code of the plugin above.
Constructors.vdeclares the plugin on the Coq side;
test-suite/just demonstrates a use of the plugin.
Make sure that you added the Coq repository:
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-constructors
From the sources
First, you should have
make in your path. Then simply do:
coq_makefile -f Make -o Makefile
to generate a
Makefile from the description in
This will consecutively build the plugin, the supporting
theories and the test-suite file.
You can then either
make install the plugin or leave it in its
current directory. To be able to import it from anywhere in Coq,
simply add the following to
Add Rec LoadPath "path_to_constructors/theories" as Constructors. Add ML Path "path_to_constructors/src".