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
Dominik Picheta b3469c43a6 Implemented 'await connect' fully. Fixed a buffering and 'reqReg' bug.
* reqReq did not reset lastReq to reqNil, this caused problems in the
new tasyncitermacro test. (await accept stopped accepting requests after
some arbitrary amount have been accepted).
* Rewritten and moved tasyncitermacro to tests/run/ so that the tester
actually tests whether it works at runtime.
* tasynciterraw is now a copy of tasyncitermacro after macro expansion.
It will be used as a control test, useful if the macro starts generating
incorrect code.
2013-08-03 14:19:17 +01:00
compiler fixes #532 2013-08-01 00:16:29 +02:00
config 'nirmod pretty': almost working 2013-07-31 02:50:17 +02:00
devel openarray/varargs split; breaks bootstrapping 2012-08-16 08:34:33 +02:00
doc Merge pull request #515 from gradha/pr_idetools_improvements 2013-07-07 16:05:17 -07:00
examples Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
icons Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
lib Implemented 'await connect' fully. Fixed a buffering and 'reqReg' bug. 2013-08-03 14:19:17 +01:00
tests Implemented 'await connect' fully. Fixed a buffering and 'reqReg' bug. 2013-08-03 14:19:17 +01:00
tinyc Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
tools Moved linker flags to the end of cmd line in build.sh and bat templates 2013-07-06 10:40:32 +03:00
web added macros.genSym 2013-07-24 21:58:17 +02:00
.gitignore Adds idetools --suggest test case. Refs #484. 2013-07-02 12:28:22 +02:00
contributors.txt Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
copying.txt made some tests green; implemented 'from module import nil' 2013-05-19 23:17:16 +02:00
install.txt fixes #287; bugfix: subrange checking is performed again 2013-04-12 16:24:58 +02:00
koch.nim attempt to make libzip work on the testing machines 2013-06-27 21:41:53 +02:00
koch.nimrod.cfg Fixes bootstrapping. 2012-09-03 19:44:25 +01:00
readme.md made some tests green; implemented 'from module import nil' 2013-05-19 23:17:16 +02:00
readme.txt made some tests green; implemented 'from module import nil' 2013-05-19 23:17:16 +02:00
start.bat Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
todo.txt added macros.genSym 2013-07-24 21:58:17 +02:00

Nimrod Compiler

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

Compiling

Compiling the Nimrod compiler is quite straightforward. Because the Nimrod compiler itself is written in the Nimrod programming language the C source of an older version of the compiler are needed to bootstrap the latest version. The C sources are however included with this repository under the build directory.

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
  • unzip
  • git or wget

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

$ git clone git://github.com/Araq/Nimrod.git
$ cd Nimrod
$ cd build
$ unzip csources.zip
$ cd ..
$ ./build.sh
$ bin/nimrod c koch
$ ./koch boot -d:release

koch install [dir] may then be used to install Nimrod, or you can simply add it to your PATH.

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 #nimrod.

License

The compiler and the standard library is 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 Nimrod, allowing you to create commercial applications.

Read copying.txt for more details.

Copyright (c) 2004-2013 Andreas Rumpf. All rights reserved.