# Contributing to SML/NJ

Welcome, and thank you for your interest in contributing to the
Standard ML of New Jersey project.

There are many ways in which you can contribute, beyond writing code.
The goal of this document is to provide a high-level overview of how
you can get involved.

## Reporting Bugs

The most common form of contribution is reporting bugs, which should be done
by [creating an issue](https://github.com/smlnj/smlnj/issues/new/choose).

Note that we have two main repositories for SML/NJ: the so called ["development
branch"](https://github.com/smlnj/smlnj) (this one) and the ["legacy"
branch](https://github.com/smlnj/legacy).  When reporting a bug, please use
the appropriate issue tracker.  If the bug affects both versions (a common
occurance), just report one instance of the bug and we will create a
cross-reference issue in the other tracker.

## Pull Requests

We are happy to review and accept pull requests that fix bugs, clean up the
code, or add new features.  For substantial changes, please contact the
maintainers beforehand to make sure that the changes will fit within the
scope of the project.

Pull requests that involve non-trivial changes and/or additions should also
include updates to the internal documentation.  We keep a log of changes to
the core system (*i.e.*, the `cm`, `compiler`, `runtime`, and `system`
directories) in `doc/src/changelog/HISTORY.txt`.  Changes to the **SML/NJ Library**
are tracked in `smlnj-lib/CHANGES`.

## Sources of Information

* The [**SML/NJ** website](https://smlnj.org).

* Information about the implementation of **SML/NJ** (including future plans)
  can be found in the [**SML/NJ** Wiki](https://github.com/smlnj/.github/wiki).

* There are several online forums for general questions and discussion about **SML/NJ**:
    - [The Standard ML Organization at Zulip.com](https://standardml.zulipchat.com)
    - [The discussions forum here on GitHub](https://github.com/orgs/smlnj/discussions)
    - [The **SML/NJ** Developer mailing list at the University of Chicago](https://mailman.cs.uchicago.edu/mailman/listinfo/smlnj-dev-list)

* [SML/NJ Questions on Stack Overflow](https://stackoverflow.com/questions/tagged/smlnj)

* [SML Questions on Stack Overflow](https://stackoverflow.com/questions/tagged/sml)
