Skip to content

Instantly share code, notes, and snippets.

@JeffreySarnoff
Forked from pao/CONTRIBUTING.md
Created September 18, 2012 18:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JeffreySarnoff/3744684 to your computer and use it in GitHub Desktop.
Save JeffreySarnoff/3744684 to your computer and use it in GitHub Desktop.
Julia CONTRIBUTING file (started by Jeffrey Sarnoff)

Contributing

We welcome contributions to Julia and appreciate your interest. There are capabilities to grow, interfaces to write and whatever you might do. Area experts may contribute by writing software that supports work in their own field. For help, Julia has a dev list that works at working well for participants. To keep things percolating as smoothly as possible, we ask that you follow the advice and guidelines given here.

ready, get set

Before contributing to Julia, you should join the dev list, read the user manual and library guide, reread the user manual, and create a free GitHub account. Follow these steps to get Julia copied to your machine in a way that lets you to work locally, rewind your edits, keep a remote backup, and safely contribute to Julia.

  • Join the dev list -- This is a google-group, so you need a free Google Groups! account to interact.

  • Create a GitHub account
      - Use GitHub to make a personal workspace containing Julia - Let GitHub replicate that workspace on your local computer - Make sure all is as up to date

  • Build the software and libraries (the first time takes time)
      get creative, innovate, dance or write code

  • Keep Julia current
      - Refresh your GitHub workspace - Keep your local workspace current - Replicate your work into your GitHub workspace

  • Relax

getting help

While getting familiar with Julia, and when using unfamiliar aspects of the language, the first recourse is to take advantage of the docs. When searching the docs, if you use a script blocker then you must unblock the page. The source code is an excellent source of examples. Use the dev list as a resource whenever you are stumped or curious or in need of other feedback. It is always a good idea to search the dev list before posting -- there is already guidance helpful for common questions.

{other topic headings and content} ...

testing

It is important to write code that exercises your contribution and validates the implementation. For contributions that map input(s) to an output value, there is simple test harness available as julia/extras/testing.jl, with the function testit(<function_to_test>,Dict(<tupled_input>,<correct_output>).

resources

* Working with Types - [Types and Type Parameters] - [Some Type Patterns](https://github.com/JuliaLang/julia/wiki/Code-Patterns) - [The Type Hierarchy](https://github.com/JuliaLang/julia/wiki/Types-Hierarchy)

* Using GitHub - [Using Julia with GitHub (video)](http://www.youtube.com/watch?v=wnFYV3ZKtOg&feature=youtu.be) - [Using Julia on GitHub (notes for video)](https://gist.github.com/2712118#file_julia_git_pull_request.md) - [General GitHub documentation](http://help.github.com/) - [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment