Nim (formerly known as "Nimrod") is a compiled, garbage-collected systems programming language which has an excellent productivity/performance ratio. Nim's design focuses on efficiency, expressiveness, elegance (in the order of priority). http://nim-lang.org/
Find a file
2014-11-13 21:34:46 +01:00
bin rewrote lambdalifting; fixes deeply nested closures 2014-06-26 15:58:41 +02:00
build Merge pull request #1075 from flaviut/inlinedocs 2014-04-09 22:56:18 +02:00
compiler fixes error propagation for macros.parseExpr 2014-11-13 09:12:27 +01:00
config Fix #1599 2014-10-29 14:29:09 -04:00
doc Merge pull request #1623 from gradha/pr_bigbreak_adds_code_directive_to_rst 2014-11-05 01:41:12 +01:00
examples made tests green 2014-09-22 01:25:13 +02:00
icons Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
lib Fix some deprecation warnings caused by renames 2014-11-13 21:34:46 +01:00
tests fixes error propagation for macros.parseExpr 2014-11-13 09:12:27 +01:00
tinyc rewrote lambdalifting; fixes deeply nested closures 2014-06-26 15:58:41 +02:00
tools fixes #1646 2014-11-10 01:33:25 +01:00
web fixes #1646 2014-11-10 01:33:25 +01:00
.gitignore Clean up gitignore, the current ignore is equvilent to the previous 2014-04-23 21:57:01 -04:00
contributors.txt Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
copying.txt improvements for niminst 2014-10-17 03:15:28 +02:00
install.txt documented nimfix 2014-11-04 08:38:56 +01:00
koch.nim Merge branch 'devel' into bigbreak 2014-11-03 22:50:55 +01:00
koch.nimrod.cfg Fixes bootstrapping. 2012-09-03 19:44:25 +01:00
readme.md fixes #1646 2014-11-10 01:33:25 +01:00
readme.txt Merge branch 'devel' into bigbreak 2014-10-20 08:44:00 +02:00
start.bat Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
todo.txt proper fix for stack initialization and threadvar emulation 2014-11-11 09:55:31 +01:00

Nim Compiler

This repo contains the Nim compiler, Nim's stdlib, tools and documentation.

Compiling

Compiling the Nim compiler is quite straightforward. Because the Nim compiler itself is written in the Nim programming language the C source of an older version of the compiler are needed to bootstrap the latest version. The C sources are available in a separate repo here.

Pre-compiled snapshots of the compiler are also available on Nimbuild. Your platform however may not currently be built for.

The compiler currently supports the following platform and architecture combinations:

  • Windows (Windows XP or greater) - x86 and x86_64
  • Linux (most, if not all, distributions) - x86, x86_64, ppc64 and armv6l
  • Mac OS X 10.04 or higher - x86, x86_64 and ppc64

In reality a lot more are supported, however they are not tested regularly.

To build from source you will need:

  • gcc 3.x or later recommended. Other alternatives which may work are: clang, Visual C++, Intel's C++ compiler
  • git or wget

If you are on a fairly modern *nix system, the following steps should work:

$ git clone git://github.com/Araq/Nim.git
$ cd Nim
$ git clone --depth 1 git://github.com/nim-lang/csources
$ cd csources && sh build.sh
$ cd ..
$ bin/nim c koch
$ ./koch boot -d:release

koch install [dir] may then be used to install Nim, or you can simply add it to your PATH. More koch related options are documented in doc/koch.txt.

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 instead of build.sh.

Getting help

A forum is available if you have any questions, and you can also get help in the IRC channel on Freenode in #nim. If you ask questions on StackOverflow use the nim tag.

License

The compiler and the standard library are licensed under the MIT license, except for some modules where the documentation suggests otherwise. This means that you can use any license for your own programs developed with Nim, allowing you to create commercial applications.

Read copying.txt for more details.

Copyright (c) 2006-2014 Andreas Rumpf. All rights reserved.