Thank you for your contribution to sel! While there is no
Contributor License Agreement (CLA) to sign, we do need you to read the
following instructions before you contribute.
We need you to read, acknowledge, and abide by our Code of Conduct.
When making a PR, ensure that you have a Github issue that explains the context for your changes.
- The CApiFFI convention must be used at all times.
- The datatypes from
Foreignmust be used when getting results from C, likeCIntin favour ofInt. Example:-
❌
foreign export ccall sodium_init :: IO Int -
✅
foreign import capi "sodium.h sodium_init" c_sodium_init :: IO CInt
-
We have a git hook in place to ensure the following formatting and linting tools are being used:
- All Haskell source files are formatted with
fourmoluv0.17.0.0; - All Haskell source files are linted with
hlintv3.8, as per the.hlint.yamlconfiguration file. - The Cabal file is formatted with
cabal-gildv1.5.0.1
To ensure that you are using the git hook, run the following, once:
git config core.hooksPath .githooks
You can also use the provided Makefile by running make init.
Open a thread in the Questions discussion board. That way, you can get help from everyone in the community.
Open an issue and tell us what you can about your problem.