Contributing - arnoudvanderleer/UniMath GitHub Wiki

Contributing

Contributions are submitted in the form of pull requests on GitHub and are subject to approval by the UniMath Development Team. Your code will be subject to the copyright and license agreement in LICENSE.md.

Changes to the package "Foundations" are normally not accepted, for we are trying to keep it in a state close to what Vladimir Voevodsky originally intended. A warning is issued if you run make or make all and have changed a file in the Foundations package.

The git/github part of the contribution process is documented in Making a Pull Request, including forking, branching, and remote tracking. Before you make the pull-request, ensure you've read the rest of this guide.

Making changes

Important info:

  • Style-Guide - rules, naming conventions, code structure, comments, etc
  • On opaqueness - making proofs of propositions opaque

Pages that may be useful:

Adding a file to a package

Each package contains a subdirectory called ".package". The file ".packages/files" consists of a list of the paths to the *.v files of the package, in order, i.e., a file is listed after files it depends on. (That's just so the TAGS file will be correctly sequenced.) To add a file to a package, add its path to that file.

Adding a new package

Create a subdirectory of this directory, populate it with your files, add a README (or README.md) file, and add a file .package/files, listing the *.v files of your package, as above. Then add the name of your package to the head of the list assigned to "PACKAGES" in the file "./Makefile", or, alternatively, if you'd like to test your package without modifying "./Makefile", which you might accidentally commit and push, add its name to the head of the list in "../build/Makefile-configuration", which is created from "../build/Makefile-configuration-template".

Run sanity checks

make sanity-checks