Many additions to readme.
This commit is contained in:
parent
1446dc87c3
commit
46ee026e77
1 changed files with 82 additions and 22 deletions
104
readme.md
104
readme.md
|
|
@ -1,18 +1,9 @@
|
||||||
# Nim Compiler
|
# <img src="https://raw.githubusercontent.com/nim-lang/assets/master/Art/logo-crown.png" width="36"> Nim [](https://travis-ci.org/nim-lang/Nim)
|
||||||
|
|
||||||
[](https://webchat.freenode.net/?channels=nim)
|
|
||||||
[](http://forum.nim-lang.org)
|
|
||||||
[](http://stackoverflow.com/questions/tagged/nim?sort=newest&pageSize=15)
|
|
||||||
[](https://twitter.com/nim_lang)
|
|
||||||
|
|
||||||
[](https://travis-ci.org/nim-lang/Nim)
|
|
||||||
|
|
||||||
[](https://gratipay.com/nim/)
|
|
||||||
[](https://www.bountysource.com/teams/nim)
|
|
||||||
|
|
||||||
|
|
||||||
This repo contains the Nim compiler, Nim's stdlib, tools and
|
This repo contains the Nim compiler, Nim's stdlib, tools and
|
||||||
documentation.
|
documentation. For more information about Nim, including downloads
|
||||||
|
and documentation for the latest release, check out
|
||||||
|
[Nim's website](http://nim-lang.org).
|
||||||
|
|
||||||
## Compiling
|
## Compiling
|
||||||
Compiling the Nim compiler is quite straightforward. Because
|
Compiling the Nim compiler is quite straightforward. Because
|
||||||
|
|
@ -48,14 +39,15 @@ $ bin/nim c koch
|
||||||
$ ./koch boot -d:release
|
$ ./koch boot -d:release
|
||||||
```
|
```
|
||||||
|
|
||||||
``koch install [dir]`` may then be used to install Nim, but lots of things
|
You should then add the ``bin`` directory to your PATH, to make it easily
|
||||||
don't work then so don't do that. Add it to your PATH instead. More ``koch``
|
executable on your system.
|
||||||
related options are documented in [doc/koch.txt](doc/koch.txt).
|
|
||||||
|
|
||||||
The above steps can be performed on Windows in a similar fashion, the
|
The above steps can be performed on Windows in a similar fashion, the
|
||||||
``build.bat`` and ``build64.bat`` (for x86_64 systems) are provided to be used
|
``build.bat`` and ``build64.bat`` (for x86_64 systems) are provided to be used
|
||||||
instead of ``build.sh``.
|
instead of ``build.sh``.
|
||||||
|
|
||||||
|
The ``koch`` tool is the Nim build tool, more ``koch`` related options are
|
||||||
|
documented in [doc/koch.txt](doc/koch.txt).
|
||||||
|
|
||||||
## Nimble
|
## Nimble
|
||||||
[Nimble](https://github.com/nim-lang/nimble) is Nim's package manager. For the
|
[Nimble](https://github.com/nim-lang/nimble) is Nim's package manager. For the
|
||||||
|
|
@ -66,12 +58,80 @@ the easiest way of installing Nimble is via:
|
||||||
$ nim e install_nimble.nims
|
$ nim e install_nimble.nims
|
||||||
```
|
```
|
||||||
|
|
||||||
## Getting help
|
**Warning:** If you install Nimble this way, you will not be able to use binary
|
||||||
A [forum](http://forum.nim-lang.org/) is available if you have any
|
Nimble packages or update Nimble easily.
|
||||||
questions, and you can also get help in the IRC channel on
|
The [Nimble readme](https://github.com/nim-lang/nimble#installation)
|
||||||
[Freenode](irc://irc.freenode.net/nim) in #nim. If you ask questions on
|
provides thorough instructions on how to install Nimble, so that this isn't a
|
||||||
[StackOverflow use the nim
|
problem.
|
||||||
tag](http://stackoverflow.com/questions/tagged/nim).
|
|
||||||
|
## Community
|
||||||
|
[](https://webchat.freenode.net/?channels=nim)
|
||||||
|
[](http://forum.nim-lang.org)
|
||||||
|
[](http://stackoverflow.com/questions/tagged/nim?sort=newest&pageSize=15)
|
||||||
|
[](https://twitter.com/nim_lang)
|
||||||
|
|
||||||
|
* The [forum](http://forum.nim-lang.org/) - the best place to ask questions and to discuss Nim.
|
||||||
|
* [IRC (Freenode#nim)](https://webchat.freenode.net/?channels=nim) - the best place to discuss
|
||||||
|
Nim in real-time, this is also where most development decision get made!
|
||||||
|
* [Stackoverflow](http://stackoverflow.com/questions/tagged/nim)
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
[](https://gratipay.com/nim/)
|
||||||
|
[](https://www.bountysource.com/teams/nim)
|
||||||
|
|
||||||
|
We welcome everyone's contributions to Nim. No matter how small or large
|
||||||
|
the contribution is, anything from small spelling fixes to large modules
|
||||||
|
intended to be included in the standard library are accepted. Before
|
||||||
|
you get started, you should know the following about this repositories
|
||||||
|
structure:
|
||||||
|
|
||||||
|
* ``bin/``, ``build/`` - these directories are empty, but are used when Nim is built.
|
||||||
|
* ``compiler/`` - the compiler source code, all the Nim source code files in this
|
||||||
|
directory implement the compiler. This also includes nimfix, and plugins
|
||||||
|
which live in ``compiler/nimfix`` and ``compiler/plugins``
|
||||||
|
respectively. Nimsuggest used to live in the ``compiler`` directory also,
|
||||||
|
but was moved to https://github.com/nim-lang/nimsuggest.
|
||||||
|
* ``config/`` - the configuration for the compiler and documentation generator.
|
||||||
|
* ``doc/`` - the documentation files in reStructuredText format.
|
||||||
|
* ``lib/`` - where the standard library lives.
|
||||||
|
* ``pure/`` - modules in the standard library written in pure Nim.
|
||||||
|
* ``impure/`` - modules in the standard library written in pure Nim which
|
||||||
|
depend on libraries written in other languages.
|
||||||
|
* ``wrappers/`` - modules which wrap libraries written in other languages.
|
||||||
|
* ``tests/`` - contains tests for the compiler and standard library, organised by
|
||||||
|
category.
|
||||||
|
* ``tools/`` - the tools including ``niminst`` and ``nimweb``, most of these are invoked
|
||||||
|
via ``koch``.
|
||||||
|
* ``web/`` - the Nim website (http://nim-lang.org).
|
||||||
|
* ``koch.nim`` - tool used to bootstrap Nim, generate C sources, build the website, documentation
|
||||||
|
and more.
|
||||||
|
|
||||||
|
Most importantly, the ``koch`` tool can be used to run the test suite. To do so compile it first
|
||||||
|
by executing ``nim c koch``, then execute ``./koch tests``. The test suite takes a while to run,
|
||||||
|
but you can run specific tests by specifying a category to run, for example ``./koch tests cat async``.
|
||||||
|
|
||||||
|
Make sure that the tests all pass before
|
||||||
|
[submitting your pull request](https://help.github.com/articles/using-pull-requests/).
|
||||||
|
If you're short on time, you can
|
||||||
|
just run the tests specific to your change. Just run the category which corresponds to the change
|
||||||
|
you've made. When you create your pull request, Travis CI will verify that all the tests pass
|
||||||
|
anyway.
|
||||||
|
|
||||||
|
If you're looking for things to do, take a look at our
|
||||||
|
[issue tracker](https://github.com/nim-lang/Nim/issues). There is always plenty of issues
|
||||||
|
labelled [``Easy``](https://github.com/nim-lang/Nim/labels/Easy), these should be a good
|
||||||
|
starting point if this is your first contribution to Nim.
|
||||||
|
|
||||||
|
You can also help with the development of Nim by making donations. You can do so
|
||||||
|
in many ways:
|
||||||
|
|
||||||
|
* [Gratipay](https://gratipay.com/nim/)
|
||||||
|
* [Bountysource](https://www.bountysource.com/teams/nim)
|
||||||
|
* Bitcoin - 1BXfuKM2uvoD6mbx4g5xM3eQhLzkCK77tJ
|
||||||
|
|
||||||
|
Finally, if you have any questions feel free to submit a question on the issue tracker,
|
||||||
|
on the [Nim forum](http://forum.nim-lang.org), or on IRC.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
The compiler and the standard library are licensed under the MIT license,
|
The compiler and the standard library are licensed under the MIT license,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue