I'm sure you can email someone the code if absolutely necessary. However, the best thing to do is to learn to use Github, since that's how all Nim development is done (including PR review and feedback). It's very straight forward, and if you're capable of writing acceptable generic code it should be easy.
Github has excellent documentation here: https://help.github.com/ However, if things are still unclear...
You'll need a Github account, and you'll need to be logged in. After that, follow these steps:
- Goto https://github.com/Araq/Nimrod and click on 'Fork' in the top left. This will duplicate all the files into your own personal repo.
- Clone your repo to your local disk, ie: $ git clone https://github.com/YOUR_GITHUB_NAME/Nimrod.git
- cd into your newly created Nimrod folder
- Add Araq's repo as an upstream source (so that you can merge upstream changes into your repo), ie: $ git remote add upstream https://github.com/Araq/Nimrod.git
- make your changes to math.nim (or whatever) under the branch you want to submit to (right now that should probably be bigbreak).
- make sure your changes actually work by building the compiler and testing things out (remember the build instructions are currently undergoing changes)
- commit and push your changes to your repo. I usually do this via git gui, eg..
- launch git gui: $ git gui
- click on each file you've changed (eg math.nim) to inspect the changes, click on it's icon to add the file to the commit.
- once all files are added, enter a commit message & press the commit button (bottom)
- press the 'Push' button and enter the credentials to your Github acount. It will show a "Success" message in green if this works
- go to your Github repo in a web browser and click the little green button next to the branch selector (make sure you've selected the correct branch)
- press the green "Create pull request" button, and then you've successfully made a PR
When you need to pull upstream changes to your repo, this is what I do:
- $ git fetch upstream
- $ git merge upstream/bigbreak (note, bigbreak is just an example. Always merge with the branch you're working on)