Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uwplse/coq-plugin-lib
Library of useful utility functions for Coq plugins
https://github.com/uwplse/coq-plugin-lib
coq coq-library coq-plugin library pumpkin-patch
Last synced: about 2 months ago
JSON representation
Library of useful utility functions for Coq plugins
- Host: GitHub
- URL: https://github.com/uwplse/coq-plugin-lib
- Owner: uwplse
- License: mit
- Created: 2019-07-23T17:25:29.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-03T20:07:52.000Z (about 2 years ago)
- Last Synced: 2024-05-21T01:08:01.787Z (8 months ago)
- Topics: coq, coq-library, coq-plugin, library, pumpkin-patch
- Language: OCaml
- Size: 528 KB
- Stars: 11
- Watchers: 7
- Forks: 5
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This is a library of useful utility functions for Coq plugins. These functions originally come from [PUMPKIN PATCH](https://github.com/uwplse/PUMPKIN-PATCH) and [DEVOID](https://github.com/uwplse/ornamental-search), but may be useful for plugin development more broadly.
To build this library with a test plugin, run:
```
./build.sh
```See [PUMPKIN PATCH](https://github.com/uwplse/PUMPKIN-PATCH) and [DEVOID](https://github.com/uwplse/ornamental-search) for examples of loading it as a submodule.
## Guide
* [LICENSE](/LICENSE): License
* [README.md](/README.md): You are here!
* [build.sh](/build.sh): Build script for example plugin
* [theories](/theories): Example plugin that loads the library
* [src](/src): Main source directory
- [plib.mlpack](/src/plib.mlpack)
- [plibrary.ml4](/src/plibrary.ml4): Top-level file
- [utilities](/src/utilities): General OCaml utilities
- [coq](/src/coq): Coq utilities
- [constants](/src/coq/constants): Useful Coq constants, like sigma types and equality
- [devutils](/src/coq/devutils): Utilities for development, like printing terms with deBruijn indices
- [logicutils](/src/coq/logicutils): Utilities for the core logic of Coq
- [contexts](/src/coq/logicutils/contexts): Contexts, environments, and state for unification
- [hofs](/src/coq/logicutils/hofs): Useful higher-order functions, like flexible reduction and substistution functions
- [inductive](/src/coq/logicutils/inductive): Inductive types
- [transformation](/src/coq/logicutils/transformation): Transforming types and terms
- [typesandequality](/src/coq/logicutils/typesandequality): Type checking & inference, unification, convertibility, and so on
- [representationutils](/src/coq/representationutils): Definitions, names, and dealing with different representations of terms
- [termutils](/src/coq/termutils): Utilities for constructing and reasoning about certain kinds of terms, like constants and functions
## ContributorsThis library was developed by Talia Ringer, Nate Yazdani, and RanDair Porter.
## Licensing
We use the MIT license because we think Coq plugins have a right not to use GPL.
If this is wrong, please let us know kindly so we can fix this.