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
2012-12-09 03:03:14 +01:00
compiler compiler support for babel 2012-12-07 17:20:51 +01:00
config Fixes SSL httpclient and problems with hidden path splitting in OS. 2012-12-02 13:21:21 +00:00
devel openarray/varargs split; breaks bootstrapping 2012-08-16 08:34:33 +02:00
doc documented AST overloading and some TR optimizations 2012-12-09 03:02:52 +01:00
examples Merge pull request #253 from gradha/pr_reduce_todo_code_repetition 2012-11-18 05:12:32 -08:00
icons restored files that 'koch clean' removed 2012-04-16 16:43:41 +02:00
lib Fixes SSL implementation of sendAsync. 2012-12-08 19:27:00 +00:00
packages/docutils made 'shared' a keyword 2012-11-22 07:53:50 +01:00
tests documented AST overloading and some TR optimizations 2012-12-09 03:02:52 +01:00
tinyc docgen understands and ignores *when false* 2010-11-18 22:26:20 +01:00
tools doc2 support for nimweb; fixed graphics.withEvents 2012-11-01 08:32:30 +01:00
web documented AST overloading and some TR optimizations 2012-12-09 03:02:52 +01:00
.gitignore Adds command line interface for todo example. 2012-11-01 20:41:16 +01:00
build.bat rebuilt C sources 2012-11-18 01:41:16 +01:00
build64.bat rebuilt C sources 2012-11-18 01:41:16 +01:00
contributors.txt tr macros now documented 2012-09-10 19:34:16 +02:00
copying.txt little fixes for 0.8.14 release 2012-02-09 02:26:08 +01:00
deinstall.sh version 0.8.10 2010-10-21 00:12:14 +02:00
gpl.html first (non working) implementation of global thread analysis 2011-06-13 01:40:22 +02:00
install.sh rebuilt C sources 2012-11-18 01:41:16 +01:00
install.txt win64 is a supported target; bugfix: nimrod c -r on windows; stdlib uses wide char versions of the WinAPI 2012-03-04 21:44:56 +01:00
koch.nim first steps for overloading support of passing blocks; bugfix: test results of 'compile' are not overwritten 2012-09-11 08:09:34 +02:00
koch.nimrod.cfg Fixes bootstrapping. 2012-09-03 19:44:25 +01:00
readme.md documentation improvements 2012-12-07 17:43:15 +01:00
readme.txt documentation improvements 2012-12-07 17:43:15 +01:00
start.bat first (non working) implementation of global thread analysis 2011-06-13 01:40:22 +02:00
todo.txt documented AST overloading and some TR optimizations 2012-12-09 03:02:52 +01: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
$ unzip build/csources.zip
$ ./build.sh
$ bin/nimrod c koch
$ ./koch boot -d:release

The install script (install.sh) 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 is licensed under the GPLv2 license, the standard library is licensed under the LGPL license with a linking exception so that you can link to it statically. 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-2012 Andreas Rumpf. All rights reserved.