(このドキュメントの日本語バージョン: CONTRIBUTING.ja.md)
Currently, you can help us with the following ways:
- Please find tasks of competitive programming which are seems to be automatically solved, and reporting them in comments of an issue.
- If possible, please send to us pull requests which add Python codes with stupid algorithms and test cases for the tasks to examples/wip/ directory.
- The problems which you found and Python codes which you sent are used for testing.
Use the following commands to run tests. Hspec and Doctest are enabled. Also contents of examples/ directory are verified.
$ stack test
$ bash examples/test.sh
The GitHub Actions for tests is defined at .github/workflows/test.yml.
There is a script at scripte/pre-commit
which checkes formatting of all files.
We recommend to configure this as the pre-commit hook with running $ ln -s $(pwd)/scripts/pre-commit .git/hooks/pre-commit
.
Ormolu and HLint are enabled. Use the following commands to check formatting.
$ stack exec ormolu -- --mode=check $(find src app test -name \*.hs)
$ stack exec hlint -- src app test
Use the following command to fix formatting automatically as possible.
$ stack exec ormolu -- --mode=check $(find src app test -name \*.hs)
The GitHub Actions for formatting if defined at .github/workflows/format.yml.
clang-format is enabled.
yapf and isort are enabled.
You can install these with $ pip3 install -r scripts/requirements.txt
.
Prettier is enabled.
you can install this with installing Yarn and running $ yarn install
.
Prettier is enabled.
you can install this with installing Yarn and running $ yarn install
.
Haddock is used for internal documents of internal implementation. Run the following command to generate documents locally.
$ stack haddock
Use Conventional Commits.
Conforming to Haskell Package Versioning Policy.