We'd love your contributions to make Ark a better programming language.
All code changes to the Go codebase must have go fmt
run on them
If you want to contribute to Ark, that's great! We encourage all developers to actively discuss Ark and its features/implementations on the IRC (#ark-lang).
There are plenty of things you can do to help:
- Report bugs/other issues (big help!)
- Comment on issues, your voice helps us make the language better!
- Fix bugs/implement features in the issue tracker
- Create/fix/modify documentation
- Work on the compiler
We love Pull Requests! If you are planning on contributing, please read this list:
- Run
go fmt
on your code - Work on a separate branch
- Make sure your patch is up-to-date with the master branch, if not, please rebase
- If you are implementing a feature of some kind, please add a test if there is not an existing one already
- Please add a summary or brief description of your PR, however, the more detail the better
If you've found a bug when implementing a feature, or want to fix an existing bug; here are what we consider must do steps.
- Run it through a debugger, e.g.
lldb
orgdb
. Typically, if theres a segmentation fault, or other bug that occurs on run-time, g/lldb is a good start. - Use Valgrind to track down memory leaks
- Run the Ark code with the
-v
flag! This is the verbose flag and can help you locate what stage the bug occurs (during lexical analysis, semantic analysis, parsing, etc).
Be it personal code, or you're contributing to the standard libraries, check out the style guide. Not only will this keep everything consistent (if you're contributing to the std libraries that is), but it will also make the code a lot more readable and easier to maintain.
Please do not post questions for help in the Issue Tracker unless you think it's a bug related to the Ark compiler, or a feature. Instead, check out the following communities:
You'll probably find one of the core super contributors on the IRC. If you have any questions, or just want to come talk to us; join the #ark-lang channel on freenode.
- ip:
irc.freenode.net
- channel:
#ark-lang
We also have a subreddit, here's the link. Feel free to ask us questions on that, a lot of the developers are also Reddit addicts.