Contributions to Mere are welcome.
Mere is currently released under the MIT License (see LICENSE).
This project may in the future transition to a MIT OR Apache-2.0 dual license. Therefore, by submitting a pull request / patch / commit, you are deemed to agree to the following:
- Your contribution will be distributed under the MIT License.
- If Mere later adds Apache License 2.0 and becomes dual-licensed, your contribution will also be distributed under the Apache License 2.0.
This is to preserve room to reconsider the project's license strategy shortly after public release. For current users, only the MIT License is effective.
- Fork and create a branch (
git checkout -b your-feature) - Make your changes and ensure tests (
dune runtest) pass - Open a pull request
Please include in your PR:
- The motivation for the change (what problem it solves / what feature it adds)
- Which of the 4 backends (interp + C + LLVM + Wasm) are affected
- A description of any new tests you added
Please file them on GitHub Issues. Reproduction steps plus the output of
dune exec ./bin/mere.exe -- --version are helpful.
Language-design OPEN_QUESTIONS and paper-validated decisions are managed in a separate repository (see the README for details). Proposals that involve large design changes should first be discussed in an Issue before opening a PR.
- The OCaml core uses dune's standard formatting (
dune fmt) .mereexamples should follow the style of existing files (a test to maintain diff = 0 across the 4 backends may be required)