Skip to content

Latest commit

 

History

History
61 lines (48 loc) · 2.61 KB

CONTRIBUTING.md

File metadata and controls

61 lines (48 loc) · 2.61 KB

Contributing

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

Interested in contributing?

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).

What can I do to help?

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

Pull Requests

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

Fixing Bugs

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 or gdb. 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).

Writing Ark code

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.

Community

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:

IRC

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

Reddit

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.