summary refs log tree commit diff stats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/advopt.txt6
-rw-r--r--doc/apis.txt2
-rw-r--r--doc/astspec.txt112
-rw-r--r--doc/backends.txt162
-rw-r--r--doc/basicopt.txt4
-rw-r--r--doc/docgen.txt60
-rw-r--r--doc/docs.txt14
-rw-r--r--doc/effects.txt4
-rw-r--r--doc/endb.txt18
-rw-r--r--doc/estp.txt20
-rw-r--r--doc/filelist.txt10
-rw-r--r--doc/filters.txt14
-rw-r--r--doc/gc.txt10
-rw-r--r--doc/idetools.txt60
-rw-r--r--doc/intern.txt72
-rw-r--r--doc/koch.txt42
-rw-r--r--doc/nimgrep.txt4
-rw-r--r--doc/niminst.txt10
-rw-r--r--doc/overview.txt4
-rw-r--r--doc/pegdocs.txt8
-rw-r--r--doc/readme.txt4
-rw-r--r--doc/regexprs.txt4
-rw-r--r--doc/rst.txt22
-rw-r--r--doc/sets_fragment.txt2
-rw-r--r--doc/spawn.txt8
-rw-r--r--doc/subexes.txt2
-rw-r--r--doc/tools.txt14
-rw-r--r--doc/tut2.txt2
28 files changed, 347 insertions, 347 deletions
diff --git a/doc/advopt.txt b/doc/advopt.txt
index 7a11e9041..18cea8a79 100644
--- a/doc/advopt.txt
+++ b/doc/advopt.txt
@@ -50,7 +50,7 @@ Advanced options:
   --os:SYMBOL               set the target operating system (cross-compilation)
   --cpu:SYMBOL              set the target processor (cross-compilation)
   --debuginfo               enables debug information
-  --debugger:on|off         turn Embedded Nimrod Debugger on|off
+  --debugger:on|off         turn Embedded Nim Debugger on|off
   -t, --passC:OPTION        pass an option to the C compiler
   -l, --passL:OPTION        pass an option to the linker
   --cincludes:DIR           modify the C compiler header search path
@@ -58,7 +58,7 @@ Advanced options:
   --clib:LIBNAME            link an additional C library
                             (you should omit platform-specific extensions)
   --genMapping              generate a mapping file containing
-                            (Nimrod, mangled) identifier pairs
+                            (Nim, mangled) identifier pairs
   --project                 document the whole project (doc2)
   --docSeeSrcUrl:url        activate 'see source' for doc and doc2 commands
                             (see doc.item.seesrc in config/nimdoc.cfg)
@@ -89,7 +89,7 @@ Advanced options:
   --listCmd                 list the commands used to execute external programs
   --parallelBuild=0|1|...   perform a parallel build
                             value = number of processors (0 for auto-detect)
-  --verbosity:0|1|2|3       set Nimrod's verbosity level (1 is default)
+  --verbosity:0|1|2|3       set Nim's verbosity level (1 is default)
   --cs:none|partial         set case sensitivity level (default: none);
                             do not use! this setting affects the whole language
   -v, --version             show detailed version information
diff --git a/doc/apis.txt b/doc/apis.txt
index 9906f6bbc..e0510d85f 100644
--- a/doc/apis.txt
+++ b/doc/apis.txt
@@ -84,5 +84,5 @@ indentation             indent
 Coding Guidelines
 =================
 
-For coding guidelines see the `Internals of the Nimrod Compiler
+For coding guidelines see the `Internals of the Nim Compiler
 <intern.html#coding-guidelines>`_ documentation.
diff --git a/doc/astspec.txt b/doc/astspec.txt
index 6b6242614..5c4274093 100644
--- a/doc/astspec.txt
+++ b/doc/astspec.txt
@@ -1,11 +1,11 @@
-The AST in Nimrod
+The AST in Nim
 =================
-This section describes how the AST is modelled with Nimrod's type system.
+This section describes how the AST is modelled with Nim's type system.
 The AST consists of nodes (``PNimrodNode``) with a variable number of
 children. Each node has a field named ``kind`` which describes what the node
 contains:
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   type
     TNimrodNodeKind = enum ## kind of a node; only explanatory
@@ -39,7 +39,7 @@ contains:
 For the ``PNimrodNode`` type, the ``[]`` operator has been overloaded:
 ``n[i]`` is ``n``'s ``i``-th child.
 
-To specify the AST for the different Nimrod constructs, the notation
+To specify the AST for the different Nim constructs, the notation
 ``nodekind(son1, son2, ...)`` or ``nodekind(value)`` or 
 ``nodekind(field=value)`` is used.
 
@@ -53,7 +53,7 @@ A leaf of the AST often corresponds to a terminal symbol in the concrete
 syntax.
 
 -----------------                ---------------------------------------------
-Nimrod expression                corresponding AST
+Nim expression                   corresponding AST
 -----------------                ---------------------------------------------
 ``42``                           ``nnkIntLit(intVal = 42)``
 ``42'i8``                        ``nnkInt8Lit(intVal = 42)``
@@ -87,12 +87,12 @@ Command call
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   echo "abc", "xyz"
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkCommand(nnkIdent(!"echo"), nnkStrLit("abc"), nnkStrLit("xyz"))
 
 
@@ -101,12 +101,12 @@ Call with ``()``
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   echo("abc", "xyz")
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkCall(nnkIdent(!"echo"), nnkStrLit("abc"), nnkStrLit("xyz"))
 
 
@@ -115,12 +115,12 @@ Infix operator call
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   "abc" & "xyz"
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkInfix(nnkIdent(!"&"), nnkStrLit("abc"), nnkStrLit("xyz"))
 
 
@@ -129,29 +129,29 @@ Prefix operator call
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   ? "xyz"
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkPrefix(nnkIdent(!"?"), nnkStrLit("abc"))
 
 
 Postfix operator call
 ---------------------
 
-**Note:** There are no postfix operators in Nimrod. However, the 
+**Note:** There are no postfix operators in Nim. However, the 
 ``nnkPostfix`` node is used for the *asterisk export marker* ``*``:
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   identifier*
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkPostfix(nnkIdent(!"*"), nnkIdent(!"identifier"))
 
 
@@ -160,12 +160,12 @@ Call with named arguments
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   writeln(file=stdout, "hallo")
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkCall(nnkIdent(!"writeln"), 
           nnkExprEqExpr(nnkIdent(!"file"), nnkIdent(!"stdout")), 
           nnkStrLit("hallo"))
@@ -176,12 +176,12 @@ Dereference operator ``^``
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   x^
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkDerefExpr(nnkIdent(!"x"))
 
 
@@ -190,12 +190,12 @@ Addr operator
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   addr(x)
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkAddr(nnkIdent(!"x"))
 
 
@@ -204,12 +204,12 @@ Cast operator
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   cast[T](x)
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkCast(nnkIdent(!"T"), nnkIdent(!"x"))
 
 
@@ -218,12 +218,12 @@ Object access operator ``.``
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   x.y
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkDotExpr(nnkIdent(!"x"), nnkIdent(!"y"))
 
 
@@ -232,12 +232,12 @@ Array access operator ``[]``
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   x[y]
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkBracketExpr(nnkIdent(!"x"), nnkIdent(!"y"))
 
 
@@ -249,12 +249,12 @@ are built with the ``nnkPar`` node.
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   (1, 2, (3))
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkPar(nnkIntLit(1), nnkIntLit(2), nnkPar(nnkIntLit(3)))
   
   
@@ -265,12 +265,12 @@ Curly braces are used as the set constructor.
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   {1, 2, 3}
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkCurly(nnkIntLit(1), nnkIntLit(2), nnkIntLit(3))
 
 
@@ -281,12 +281,12 @@ Brackets are used as the array constructor.
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   [1, 2, 3]
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkBracket(nnkIntLit(1), nnkIntLit(2), nnkIntLit(3))
 
 
@@ -297,12 +297,12 @@ Ranges occur in set constructors, case statement branches or array slices.
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   1..3
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkRange(nnkIntLit(1), nnkIntLit(3))
 
 
@@ -313,12 +313,12 @@ The representation of the if expression is subtle, but easy to traverse.
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   if cond1: expr1 elif cond2: expr2 else: expr3
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkIfExpr(
     nnkElifExpr(cond1, expr1),
     nnkElifExpr(cond2, expr2),
@@ -337,7 +337,7 @@ there is no ``else`` branch, no ``nnkElse`` child exists.
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   if cond1: 
     stmt1
   elif cond2:
@@ -349,7 +349,7 @@ Concrete syntax:
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkIfStmt(
     nnkElifBranch(cond1, stmt1),
     nnkElifBranch(cond2, stmt2),
@@ -369,12 +369,12 @@ Assignment
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   x = 42
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkAsgn(nnkIdent(!"x"), nnkIntLit(42))
 
 
@@ -383,14 +383,14 @@ Statement list
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   stmt1
   stmt2
   stmt3
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkStmtList(stmt1, stmt2, stmt3)
 
   
@@ -399,7 +399,7 @@ Case statement
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   case expr1
   of expr2, expr3..expr4: 
     stmt1
@@ -412,7 +412,7 @@ Concrete syntax:
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkCaseStmt(
     expr1,
     nnkOfBranch(expr2, nnkRange(expr3, expr4), stmt1),
@@ -429,13 +429,13 @@ While statement
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   while expr1:
     stmt1
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkWhileStmt(expr1, stmt1)
 
 
@@ -444,13 +444,13 @@ For statement
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   for ident1, ident2 in expr1:
     stmt1
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkForStmt(ident1, ident2, expr1, stmt1)
 
 
@@ -459,7 +459,7 @@ Try statement
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   try:
     stmt1
   except e1, e2: 
@@ -473,7 +473,7 @@ Concrete syntax:
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkTryStmt(
     stmt1, 
     nnkExceptBranch(e1, e2, stmt2), 
@@ -488,12 +488,12 @@ Return statement
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   return expr1
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkReturnStmt(expr1)
 
 
@@ -514,12 +514,12 @@ Continue statement
 
 Concrete syntax:
 
-.. code-block:: nimrod
+.. code-block:: nim
   continue
 
 AST:
 
-.. code-block:: nimrod
+.. code-block:: nim
   nnkContinueStmt()
 
 Var section
diff --git a/doc/backends.txt b/doc/backends.txt
index c2dbb0af6..307f141b2 100644
--- a/doc/backends.txt
+++ b/doc/backends.txt
@@ -1,9 +1,9 @@
 ================================
-   Nimrod Backend Integration
+   Nim Backend Integration
 ================================
 
 :Author: Puppet Master
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
   "Heresy grows from idleness." -- Unknown.
@@ -12,20 +12,20 @@
 Introduction
 ============
 
-The `Nimrod Compiler User Guide <nimrodc.html>`_ documents the typical
+The `Nim Compiler User Guide <nimc.html>`_ documents the typical
 compiler invocation, using the ``compile`` or ``c`` command to transform a
 ``.nim`` file into one or more ``.c`` files which are then compiled with the
 platform's C compiler into a static binary. However there are other commands
 to compile to C++, Objective-C or JavaScript. This document tries to
 concentrate in a single place all the backend and interfacing options.
 
-The Nimrod compiler supports mainly two backend families: the C, C++ and
+The Nim compiler supports mainly two backend families: the C, C++ and
 Objective-C targets and the JavaScript target. `The C like targets`_ creates
 source files which can be compiled into a library or a final executable. `The
 JavaScript target`_ can generate a ``.js`` file which you reference from an
 HTML file or create a `standalone nodejs program <http://nodejs.org>`_.
 
-On top of generating libraries or standalone applications, Nimrod offers
+On top of generating libraries or standalone applications, Nim offers
 bidirectional interfacing with the backend targets through generic and
 specific pragmas.
 
@@ -49,25 +49,25 @@ project.  This allows you to take the generated code and place it directly
 into a project using any of these languages. Here are some typical command
 line invocations::
 
-    $ nimrod c hallo.nim
-    $ nimrod cpp hallo.nim
-    $ nimrod objc hallo.nim
+    $ nim c hallo.nim
+    $ nim cpp hallo.nim
+    $ nim objc hallo.nim
 
 The compiler commands select the target backend, but if needed you can
 `specify additional switches for cross compilation
-<nimrodc.html#cross-compilation>`_ to select the target CPU, operative system
+<nimc.html#cross-compilation>`_ to select the target CPU, operative system
 or compiler/linker commands.
 
 
 The JavaScript target
 ---------------------
 
-Nimrod can also generate `JavaScript`:idx: code through the ``js`` command.
+Nim can also generate `JavaScript`:idx: code through the ``js`` command.
 However, the JavaScript code generator is experimental!
 
-Nimrod targets JavaScript 1.5 which is supported by any widely used browser.
+Nim targets JavaScript 1.5 which is supported by any widely used browser.
 Since JavaScript does not have a portable means to include another module,
-Nimrod just generates a long ``.js`` file.
+Nim just generates a long ``.js`` file.
 
 Features or modules that the JavaScript platform does not support are not
 available. This includes:
@@ -83,35 +83,35 @@ However, the modules `strutils <strutils.html>`_, `math <math.html>`_, and
 `times <times.html>`_ are available! To access the DOM, use the `dom
 <dom.html>`_ module that is only available for the JavaScript platform.
 
-To compile a Nimrod module into a ``.js`` file use the ``js`` command; the
+To compile a Nim module into a ``.js`` file use the ``js`` command; the
 default is a ``.js`` file that is supposed to be referenced in an ``.html``
 file. However, you can also run the code with `nodejs`:idx:, a `software
 platform for easily building fast, scalable network applications
 <http://nodejs.org>`_::
 
-  nimrod js -d:nodejs -r examples/hallo.nim
+  nim js -d:nodejs -r examples/hallo.nim
 
 
 Interfacing
 ===========
 
-Nimrod offers bidirectional interfacing with the target backend. This means
-that you can call backend code from Nimrod and Nimrod code can be called by
+Nim offers bidirectional interfacing with the target backend. This means
+that you can call backend code from Nim and Nim code can be called by
 the backend code. Usually the direction of which calls which depends on your
-software architecture (is Nimrod your main program or is Nimrod providing a
+software architecture (is Nim your main program or is Nim providing a
 component?).
 
 
-Nimrod code calling the backend
+Nim code calling the backend
 --------------------------------
 
-Nimrod code can interface with the backend through the `Foreign function
+Nim code can interface with the backend through the `Foreign function
 interface <manual.html#foreign-function-interface>`_ mainly through the
 `importc pragma <manual.html#importc-pragma>`_. The ``importc`` pragma is the
-*generic* way of making backend symbols available in Nimrod and is available
+*generic* way of making backend symbols available in Nim and is available
 in all the target backends (JavaScript too).  The C++ or Objective-C backends
-have their respective `ImportCpp <nimrodc.html#importcpp-pragma>`_ and
-`ImportObjC <nimrodc.html#importobjc-pragma>`_ pragmas to call methods from
+have their respective `ImportCpp <nimc.html#importcpp-pragma>`_ and
+`ImportObjC <nimc.html#importobjc-pragma>`_ pragmas to call methods from
 classes.
 
 Whenever you use any of these pragmas you need to integrate native code into
@@ -121,22 +121,22 @@ JavaScript functions which you are importing with ``importc``.
 
 However, for the C like targets you need to link external code either
 statically or dynamically. The preferred way of integrating native code is to
-use dynamic linking because it allows you to compile Nimrod programs without
+use dynamic linking because it allows you to compile Nim programs without
 the need for having the related development libraries installed. This is done
 through the `dynlib pragma for import
 <manual.html#dynlib-pragma-for-import>`_, though more specific control can be
 gained using the `dynlib module <dynlib.html>`_.
 
-The `dynlibOverride <nimrodc.html#dynliboverride>`_ command line switch allows
+The `dynlibOverride <nimc.html#dynliboverride>`_ command line switch allows
 to avoid dynamic linking if you need to statically link something instead.
-Nimrod wrappers designed to statically link source files can use the `compile
-pragma <nimrodc.html#compile-pragma>`_ if there are few sources or providing
-them along the Nimrod code is easier than using a system library. Libraries
+Nim wrappers designed to statically link source files can use the `compile
+pragma <nimc.html#compile-pragma>`_ if there are few sources or providing
+them along the Nim code is easier than using a system library. Libraries
 installed on the host system can be linked in with the `PassL pragma
-<nimrodc.html#passl-pragma>`_.
+<nimc.html#passl-pragma>`_.
 
 To wrap native code, take a look at the `c2nim tool <c2nim.html>`_ which helps
-with the process of scanning and transforming header files into a Nimrod
+with the process of scanning and transforming header files into a Nim
 interface.
 
 C invocation example
@@ -152,7 +152,7 @@ Create a ``logic.c`` file with the following content:
 
 Create a ``calculator.nim`` file with the following content:
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   {.compile: "logic.c".}
   proc addTwoIntegers(a, b: cint): cint {.importc.}
@@ -160,8 +160,8 @@ Create a ``calculator.nim`` file with the following content:
   when isMainModule:
     echo addTwoIntegers(3, 7)
 
-With these two files in place, you can run ``nimrod c -r calculator.nim`` and
-the Nimrod compiler will compile the ``logic.c`` file in addition to
+With these two files in place, you can run ``nim c -r calculator.nim`` and
+the Nim compiler will compile the ``logic.c`` file in addition to
 ``calculator.nim`` and link both into an executable, which outputs ``10`` when
 run. Another way to link the C file statically and get the same effect would
 be remove the line with the ``compile`` pragma and run the following typical
@@ -169,7 +169,7 @@ Unix commands::
 
     $ gcc -c logic.c
     $ ar rvs mylib.a logic.o
-    $ nimrod c --passL:mylib.a -r calculator.nim
+    $ nim c --passL:mylib.a -r calculator.nim
 
 Just like in this example we pass the path to the ``mylib.a`` library (and we
 could as well pass ``logic.o``) we could be passing switches to link any other
@@ -196,50 +196,50 @@ Create a ``host.html`` file with the following content:
 Create a ``calculator.nim`` file with the following content (or reuse the one
 from the previous section):
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   proc addTwoIntegers(a, b: int): int {.importc.}
 
   when isMainModule:
     echo addTwoIntegers(3, 7)
 
-Compile the Nimrod code to JavaScript with ``nimrod js -o:calculator.js
+Compile the Nim code to JavaScript with ``nim js -o:calculator.js
 calculator.nim`` and open ``host.html`` in a browser. If the browser supports
 javascript, you should see the value ``10``. In JavaScript the `echo proc
 <system.html#echo>`_ will modify the HTML DOM and append the string. Use the
 `dom module <dom.html>`_ for specific DOM querying and modification procs.
 
 
-Backend code calling Nimrod
+Backend code calling Nim
 ---------------------------
 
-Backend code can interface with Nimrod code exposed through the `exportc
+Backend code can interface with Nim code exposed through the `exportc
 pragma <manual.html#exportc-pragma>`_. The ``exportc`` pragma is the *generic*
-way of making Nimrod symbols available to the backends. By default the Nimrod
-compiler will mangle all the Nimrod symbols to avoid any name collision, so
-the most significant thing the ``exportc`` pragma does is maintain the Nimrod
+way of making Nim symbols available to the backends. By default the Nim
+compiler will mangle all the Nim symbols to avoid any name collision, so
+the most significant thing the ``exportc`` pragma does is maintain the Nim
 symbol name, or if specified, use an alternative symbol for the backend in
 case the symbol rules don't match.
 
 The JavaScript target doesn't have any further interfacing considerations
 since it also has garbage collection, but the C targets require you to
-initialize Nimrod's internals, which is done calling a ``NimMain`` function.
+initialize Nim's internals, which is done calling a ``NimMain`` function.
 Also, C code requires you to specify a forward declaration for functions or
 the compiler will asume certain types for the return value and parameters
 which will likely make your program crash at runtime.
 
-The Nimrod compiler can generate a C interface header through the ``--header``
+The Nim compiler can generate a C interface header through the ``--header``
 command line switch. The generated header will contain all the exported
 symbols and the ``NimMain`` proc which you need to call before any other
-Nimrod code.
+Nim code.
 
 
-Nimrod invocation example from C
+Nim invocation example from C
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Create a ``fib.nim`` file with the following content:
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   proc fib(a: cint): cint {.exportc.} =
     if a <= 2:
@@ -263,34 +263,34 @@ Create a ``maths.c`` file with the following content:
   }
 
 Now you can run the following Unix like commands to first generate C sources
-form the Nimrod code, then link them into a static binary along your main C
+form the Nim code, then link them into a static binary along your main C
 program::
 
-  $ nimrod c --noMain --noLinking --header:fib.h fib.nim
-  $ gcc -o m -Inimcache -Ipath/to/nimrod/lib nimcache/*.c maths.c
+  $ nim c --noMain --noLinking --header:fib.h fib.nim
+  $ gcc -o m -Inimcache -Ipath/to/nim/lib nimcache/*.c maths.c
 
-The first command runs the Nimrod compiler with three special options to avoid
+The first command runs the Nim compiler with three special options to avoid
 generating a ``main()`` function in the generated files, avoid linking the
 object files into a final binary, and explicitly generate a header file for C
 integration. All the generated files are placed into the ``nimcache``
 directory. That's why the next command compiles the ``maths.c`` source plus
 all the ``.c`` files form ``nimcache``. In addition to this path, you also
-have to tell the C compiler where to find Nimrod's ``nimbase.h`` header file.
+have to tell the C compiler where to find Nim's ``nimbase.h`` header file.
 
 Instead of depending on the generation of the individual ``.c`` files you can
-also ask the Nimrod compiler to generate a statically linked library::
+also ask the Nim compiler to generate a statically linked library::
 
-  $ nimrod c --app:staticLib --noMain --header fib.nim
-  $ gcc -o m -Inimcache -Ipath/to/nimrod/lib libfib.nim.a maths.c
+  $ nim c --app:staticLib --noMain --header fib.nim
+  $ gcc -o m -Inimcache -Ipath/to/nim/lib libfib.nim.a maths.c
 
-The Nimrod compiler will handle linking the source files generated in the
+The Nim compiler will handle linking the source files generated in the
 ``nimcache`` directory into the ``libfib.nim.a`` static library, which you can
 then link into your C program.  Note that these commands are generic and will
 vary for each system. For instance, on Linux systems you will likely need to
 use ``-ldl`` too to link in required dlopen functionality.
 
 
-Nimrod invocation example from JavaScript
+Nim invocation example from JavaScript
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Create a ``mhost.html`` file with the following content:
@@ -307,7 +307,7 @@ Create a ``mhost.html`` file with the following content:
 Create a ``fib.nim`` file with the following content (or reuse the one
 from the previous section):
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   proc fib(a: cint): cint {.exportc.} =
     if a <= 2:
@@ -315,11 +315,11 @@ from the previous section):
     else:
       result = fib(a - 1) + fib(a - 2)
 
-Compile the Nimrod code to JavaScript with ``nimrod js -o:fib.js fib.nim`` and
+Compile the Nim code to JavaScript with ``nim js -o:fib.js fib.nim`` and
 open ``mhost.html`` in a browser. If the browser supports javascript, you
 should see an alert box displaying the text ``Fib for 9 is 34``. As mentioned
 earlier, JavaScript doesn't require an initialisation call to ``NimMain`` or
-similar function and you can call the exported Nimrod proc directly.
+similar function and you can call the exported Nim proc directly.
 
 
 Nimcache naming logic
@@ -328,17 +328,17 @@ Nimcache naming logic
 The `nimcache`:idx: directory is generated during compilation and will hold
 either temporary or final files depending on your backend target. The default
 name for the directory is ``nimcache`` but you can use the ``--nimcache``
-`compiler switch <nimrodc.html#command-line-switches>`_ to change it.
+`compiler switch <nimc.html#command-line-switches>`_ to change it.
 
 Nimcache and C like targets
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The C like backends will place their temporary ``.c``, ``.cpp`` or ``.m`` files
 in the ``nimcache`` directory. The naming of these files follows the pattern
-``babelPackageName_`` + ``nimrodSource``:
+``babelPackageName_`` + ``nimSource``:
 
 * Filenames for modules imported from `Babel packages
-  <https://github.com/nimrod-code/babel>`_ will end up with
+  <https://github.com/nim-code/babel>`_ will end up with
   ``babelPackageName_module.c``. For example, if you import the
   ``argument_parser`` module from the same name Babel package you
   will end up with a ``argument_parser_argument_parser.c`` file
@@ -375,7 +375,7 @@ Nimcache and the Javascript target
 
 Unless you explicitly use the ``-o:filename.js`` switch as mentioned in the
 previous examples, the compiler will create a ``filename.js`` file in the
-``nimcache`` directory using the name of your input nimrod file. There are no
+``nimcache`` directory using the name of your input nim file. There are no
 other temporary files generated, the output is always a single self contained
 ``.js`` file.
 
@@ -387,38 +387,38 @@ In the previous sections the ``NimMain()`` function reared its head. Since
 JavaScript already provides automatic memory management, you can freely pass
 objects between the two language without problems. In C and derivate languages
 you need to be careful about what you do and how you share memory. The
-previous examples only dealt with simple scalar values, but passing a Nimrod
-string to C, or reading back a C string in Nimrod already requires you to be
+previous examples only dealt with simple scalar values, but passing a Nim
+string to C, or reading back a C string in Nim already requires you to be
 aware of who controls what to avoid crashing.
 
 
 Strings and C strings
 ---------------------
 
-The manual mentions that `Nimrod strings are implicitly convertible to
+The manual mentions that `Nim strings are implicitly convertible to
 cstrings <manual.html#cstring-type>`_ which makes interaction usually
-painless. Most C functions accepting a Nimrod string converted to a
+painless. Most C functions accepting a Nim string converted to a
 ``cstring`` will likely not need to keep this string around and by the time
 they return the string won't be needed any more. However, for the rare cases
-where a Nimrod string has to be preserved and made available to the C backend
+where a Nim string has to be preserved and made available to the C backend
 as a ``cstring``, you will need to manually prevent the string data from being
 freed with `GC_ref <system.html#GC_ref>`_ and `GC_unref
 <system.html#GC_unref>`_.
 
-A similar thing happens with C code invoking Nimrod code which returns a
+A similar thing happens with C code invoking Nim code which returns a
 ``cstring``. Consider the following proc:
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   proc gimme(): cstring {.exportc.} =
     result = "Hey there C code! " & $random(100)
 
-Since Nimrod's garbage collector is not aware of the C code, once the
+Since Nim's garbage collector is not aware of the C code, once the
 ``gimme`` proc has finished it can reclaim the memory of the ``cstring``.
 However, from a practical standpoint, the C code invoking the ``gimme``
-function directly will be able to use it since Nimrod's garbage collector has
+function directly will be able to use it since Nim's garbage collector has
 not had a chance to run *yet*. This gives you enough time to make a copy for
-the C side of the program, as calling any further Nimrod procs *might* trigger
+the C side of the program, as calling any further Nim procs *might* trigger
 garbage collection making the previously returned string garbage. Or maybe you
 are `triggering yourself the collection <gc.html>`_.
 
@@ -426,35 +426,35 @@ are `triggering yourself the collection <gc.html>`_.
 Custom data types
 -----------------
 
-Just like strings, custom data types that are to be shared between Nimrod and
+Just like strings, custom data types that are to be shared between Nim and
 the backend will need careful consideration of who controlls who. If you want
-to hand a Nimrod reference to C code, you will need to use `GC_ref
+to hand a Nim reference to C code, you will need to use `GC_ref
 <system.html#GC_ref>`_ to mark the reference as used, so it does not get
 freed. And for the C backend you will need to expose the `GC_unref
 <system.html#GC_unref>`_ proc to clean up this memory when it is not required
 any more.
 
 Again, if you are wrapping a library which *mallocs* and *frees* data
-structures, you need to expose the appropriate *free* function to Nimrod so
+structures, you need to expose the appropriate *free* function to Nim so
 you can clean it up. And of course, once cleaned you should avoid accessing it
-from Nimrod (or C for that matter). Typically C data structures have their own
+from Nim (or C for that matter). Typically C data structures have their own
 ``malloc_structure`` and ``free_structure`` specific functions, so wrapping
-these for the Nimrod side should be enough.
+these for the Nim side should be enough.
 
 
 Thread coordination
 -------------------
 
-When the ``NimMain()`` function is called Nimrod initializes the garbage
+When the ``NimMain()`` function is called Nim initializes the garbage
 collector to the current thread, which is usually the main thread of your
-application. If your C code later spawns a different thread and calls Nimrod
+application. If your C code later spawns a different thread and calls Nim
 code, the garbage collector will fail to work properly and you will crash.
 
-As long as you don't use the threadvar emulation Nimrod uses native thread
+As long as you don't use the threadvar emulation Nim uses native thread
 variables, of which you get a fresh version whenever you create a thread. You
 can then attach a GC to this thread via
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   setStackBottom(addr(someLocal))
   initGC()
diff --git a/doc/basicopt.txt b/doc/basicopt.txt
index fdb0e36e1..8080e380e 100644
--- a/doc/basicopt.txt
+++ b/doc/basicopt.txt
@@ -1,11 +1,11 @@
 Usage::
-  nimrod command [options] [projectfile] [arguments]
+  nim command [options] [projectfile] [arguments]
 
 Command:
   //compile, c                compile project with default code generator (C)
   //doc                       generate the documentation for inputfile
   //doc2                      generate the documentation for the whole project
-  //i                         start Nimrod in interactive mode (limited)
+  //i                         start Nim in interactive mode (limited)
 
 Arguments:
   arguments are passed to the program being run (if --run option is selected)
diff --git a/doc/docgen.txt b/doc/docgen.txt
index 30d0c6ff2..554f69838 100644
--- a/doc/docgen.txt
+++ b/doc/docgen.txt
@@ -1,9 +1,9 @@
 ===================================
-   Nimrod DocGen Tools Guide
+   Nim DocGen Tools Guide
 ===================================
 
 :Author: Erik O'Leary
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
 
@@ -12,7 +12,7 @@ Introduction
 ============
 
 This document describes the `documentation generation tools`:idx: built into
-the `Nimrod compiler <nimrodc.html>`_, which can generate HTML and JSON output
+the `Nim compiler <nimc.html>`_, which can generate HTML and JSON output
 from input .nim files and projects, as well as HTML and LaTeX from input RST
 (reStructuredText) files. The output documentation will include module
 dependencies (``import``), any top-level documentation comments (##), and
@@ -25,12 +25,12 @@ Documentation Comments
 Any comments which are preceded by a double-hash (##), are interpreted as
 documentation.  Comments are parsed as RST (see `reference
 <http://docutils.sourceforge.net/docs/user/rst/quickref.html>`_), providing
-Nimrod module authors the ability to easily generate richly formatted
+Nim module authors the ability to easily generate richly formatted
 documentation with only their well-documented code.
 
 Example:
 
-.. code-block:: nimrod
+.. code-block:: nim
   type TPerson* = object
     ## This type contains a description of a person
     name: string
@@ -45,7 +45,7 @@ This type contains a description of a person
 
 Field documentation comments can be added to fields like so:
 
-.. code-block:: nimrod
+.. code-block:: nim
   var numValues: int ## \
     ## `numValues` stores the number of values
 
@@ -54,15 +54,15 @@ this type would not be generated. Documentation will only be generated for
 *exported* types/procedures/etc.
 
 
-Nimrod file input
+Nim file input
 -----------------
 
 The following examples will generate documentation for the below contrived
-*Nimrod* module, aptly named 'sample.nim'
+*Nim* module, aptly named 'sample.nim'
 
 sample.nim:
 
-.. code-block:: nimrod
+.. code-block:: nim
   ## This module is a sample.
 
   import strutils
@@ -90,7 +90,7 @@ commands. These command take either a single .nim file, outputting a single
 multiple .html files and, optionally, an index file.
 
 The ``doc`` command::
-  nimrod doc sample
+  nim doc sample
 
 Partial Output::
   ...
@@ -99,11 +99,11 @@ Partial Output::
 
 Output can be viewed in full here: `docgen_sample.html <docgen_sample.html>`_.
 The next command, called ``doc2``, is very similar to the ``doc`` command, but
-will be run after the compiler performs semantic checking on the input nimrod
+will be run after the compiler performs semantic checking on the input nim
 module(s), which allows it to process macros.
 
 The ``doc2`` command::
-  nimrod doc2 sample
+  nim doc2 sample
 
 Partial Output::
   ...
@@ -127,7 +127,7 @@ Note that this tool is built off of the ``doc`` command, and therefore is
 performed before semantic checking.
 
 The ``jsondoc`` command::
-  nimrod jsondoc sample
+  nim jsondoc sample
 
 Output::
   [
@@ -150,9 +150,9 @@ Project switch
 --------------
 
 ::
-  nimrod doc2 --project filename.nim
+  nim doc2 --project filename.nim
 
-This will recursively generate documentation of all nimrod modules imported
+This will recursively generate documentation of all nim modules imported
 into the input module, including system modules. Be careful with this command,
 as it may end up sprinkling html files all over your filesystem!
 
@@ -161,15 +161,15 @@ Index switch
 ------------
 
 ::
-  nimrod doc2 --index:on filename.nim
+  nim doc2 --index:on filename.nim
 
-This will generate an index of all the exported symbols in the input Nimrod
+This will generate an index of all the exported symbols in the input Nim
 module, and put it into a neighboring file with the extension of ``.idx``. The
 index file is line oriented (newlines have to be escaped). Each line
 represents a tab separated record of several columns, the first two mandatory,
 the rest optional. See the `Index (idx) file format`_ section for details.
 
-Once index files have been generated for one or more modules, the Nimrod
+Once index files have been generated for one or more modules, the Nim
 compiler command ``buildIndex directory`` can be run to go over all the index
 files in the specified directory to generate a `theindex.html <theindex.html>`_
 file.
@@ -178,7 +178,7 @@ See source switch
 -----------------
 
 ::
-  nimrod doc2 --docSeeSrcUrl:txt filename.nim
+  nim doc2 --docSeeSrcUrl:txt filename.nim
 
 When you pass the ``docSeeSrcUrl`` switch to docgen, after each documented item
 in your source code the hyper link *See source* will appear pointing to the
@@ -191,25 +191,25 @@ hyper link to your own code repository. As you will see by the comments in that
 file, the value ``txt`` passed on the command line will be used in the HTML
 template along others like ``$path`` and ``$line``.
 
-In the case of Nimrod's own documentation, the ``txt`` value is just a commit
-hash to append to a formatted URL to https://github.com/Araq/Nimrod. The
+In the case of Nim's own documentation, the ``txt`` value is just a commit
+hash to append to a formatted URL to https://github.com/Araq/Nim. The
 ``tools/nimweb.nim`` helper queries the current git commit hash during doc
 generation, but since you might be working on an unpublished repository, it
-also allows specifying a ``githash`` value in ``web/nimrod.ini`` to force a
+also allows specifying a ``githash`` value in ``web/nim.ini`` to force a
 specific commit in the output.
 
 
 Other Input Formats
 ===================
 
-The *Nimrod compiler* also has support for RST (reStructuredText) files with
+The *Nim compiler* also has support for RST (reStructuredText) files with
 the ``rst2html`` and ``rst2tex`` commands. Documents like this one are
-initially written in a dialect of RST which adds support for nimrod sourcecode
-highlighting with the ``.. code-block:: nimrod`` prefix. ``code-block`` also
+initially written in a dialect of RST which adds support for nim sourcecode
+highlighting with the ``.. code-block:: nim`` prefix. ``code-block`` also
 supports highlighting of C++ and some other c-like languages.
 
 Usage::
-  nimrod rst2html docgen.txt
+  nim rst2html docgen.txt
 
 Output::
   You're reading it!
@@ -272,8 +272,8 @@ symbols in the `system module <system.html>`_.
   `#TSignedInt <system.html#TSignedInt>`_
 * ``var globalRaiseHook: proc (e: ref E_Base): bool {.nimcall.}`` **=>**
   `#globalRaiseHook <system.html#globalRaiseHook>`_
-* ``const NimrodVersion = "0.0.0"`` **=>**
-  `#NimrodVersion <system.html#NimrodVersion>`_
+* ``const NimVersion = "0.0.0"`` **=>**
+  `#NimVersion <system.html#NimVersion>`_
 * ``proc getTotalMem(): int {.rtl, raises: [], tags: [].}`` **=>**
   `#getTotalMem, <system.html#getTotalMem,>`_
 * ``proc len[T](x: seq[T]): int {.magic: "LengthSeq", noSideEffect.}`` **=>**
@@ -304,7 +304,7 @@ but can have up to four (additional columns are ignored). The content of these
 columns is:
 
 1. Mandatory term being indexed. Terms can include quoting according to
-   Nimrod's rules (eg. \`^\` like in `the actors module
+   Nim's rules (eg. \`^\` like in `the actors module
    <actors.html#^,ptr.TChannel[T]>`_).
 2. Base filename plus anchor hyper link (eg.
    ``algorithm.html#*,int,TSortOrder``).
@@ -342,7 +342,7 @@ final index, and TOC entries found in ``.nim`` files are discarded.
 Additional resources
 ====================
 
-`Nimrod Compiler User Guide <nimrodc.html#command-line-switches>`_
+`Nim Compiler User Guide <nimc.html#command-line-switches>`_
 
 `RST Quick Reference
 <http://docutils.sourceforge.net/docs/user/rst/quickref.html>`_
diff --git a/doc/docs.txt b/doc/docs.txt
index 8126da86c..ecf0cc268 100644
--- a/doc/docs.txt
+++ b/doc/docs.txt
@@ -1,18 +1,18 @@
 The documentation consists of several documents:
 
 - | `Tutorial (part I) <tut1.html>`_
-  | The Nimrod tutorial part one deals with the basics.
+  | The Nim tutorial part one deals with the basics.
 
 - | `Tutorial (part II) <tut2.html>`_
-  | The Nimrod tutorial part two deals with the advanced language constructs.
+  | The Nim tutorial part two deals with the advanced language constructs.
 
 - | `Language Manual <manual.html>`_
-  | The Nimrod manual is a draft that will evolve into a proper specification.
+  | The Nim manual is a draft that will evolve into a proper specification.
 
 - | `Library documentation <lib.html>`_
-  | This document describes Nimrod's standard library.
+  | This document describes Nim's standard library.
 
-- | `Compiler user guide <nimrodc.html>`_
+- | `Compiler user guide <nimc.html>`_
   | The user guide lists command line arguments, special features of the
     compiler, etc.
 
@@ -20,11 +20,11 @@ The documentation consists of several documents:
   | Description of some tools that come with the standard distribution.
 
 - | `GC <gc.html>`_
-  | Additional documentation about Nimrod's GC and how to operate it in a
+  | Additional documentation about Nim's GC and how to operate it in a
   | realtime setting.
 
 - | `Source code filters <filters.html>`_
-  | The Nimrod compiler supports source code filters as a simple yet powerful
+  | The Nim compiler supports source code filters as a simple yet powerful
     builtin templating system.
 
 - | `Term rewriting macros <trmacros.html>`_
diff --git a/doc/effects.txt b/doc/effects.txt
index 8084ae17a..4ed1d09f1 100644
--- a/doc/effects.txt
+++ b/doc/effects.txt
@@ -1,5 +1,5 @@
 =====================================================================
-               Side effects in Nimrod
+               Side effects in Nim
 =====================================================================
 
 Note: Side effects are implicit produced values! Maybe they should be
@@ -13,7 +13,7 @@ difficult is the ``newString`` proc: If it is simply wrapped, it
 should not be evaluated at compile time! On other occasions it can
 and should be evaluted:
 
-.. code-block:: nimrod
+.. code-block:: nim
   proc toUpper(s: string): string =
     result = newString(len(s))
     for i in 0..len(s) - 1:
diff --git a/doc/endb.txt b/doc/endb.txt
index e9a01b583..09b22c820 100644
--- a/doc/endb.txt
+++ b/doc/endb.txt
@@ -1,15 +1,15 @@
 ==============================================

-  Embedded Nimrod Debugger (ENDB) User Guide

+  Embedded Nim Debugger (ENDB) User Guide

 ==============================================

 

 :Author: Andreas Rumpf

-:Version: |nimrodversion|

+:Version: |nimversion|

 

 .. contents::

 

 

-Nimrod comes with a platform independent debugger -

-the Embedded Nimrod Debugger (ENDB). The debugger is

+Nim comes with a platform independent debugger -

+the Embedded Nim Debugger (ENDB). The debugger is

 *embedded* into your executable if it has been

 compiled with the ``--debugger:on`` command line option.

 This also defines the conditional symbol ``ENDB`` for you.

@@ -20,7 +20,7 @@ available for the debugger.
 

 If you start your program the debugger will immediately show

 a prompt on the console. You can now enter a command. The next sections

-deal with the possible commands. As usual in Nimrod in all commands

+deal with the possible commands. As usual in Nim in all commands

 underscores and case do not matter. Optional components of a command

 are listed in brackets ``[...]`` here.

 

@@ -105,7 +105,7 @@ The ``breakpoint`` pragma
 The ``breakpoint`` pragma is syntactically a statement. It can be used

 to mark the *following line* as a breakpoint:

 

-.. code-block:: Nimrod

+.. code-block:: Nim

   write("1")

   {.breakpoint: "before_write_2".}

   write("2")

@@ -125,7 +125,7 @@ The ``watchpoint`` pragma
 The ``watchpoint`` pragma is syntactically a statement. It can be used

 to mark a location as a watchpoint:

 

-.. code-block:: Nimrod

+.. code-block:: Nim

   var a: array [0..20, int]

   

   {.watchpoint: a[3].}

@@ -141,7 +141,7 @@ is turned on, so you don't need to remove it from your source code after
 debugging.

 

 Due to the primitive implementation watchpoints are even slower than

-breakpoints: After *every* executed Nimrod code line it is checked whether the

+breakpoints: After *every* executed Nim code line it is checked whether the

 location changed.

 

 

@@ -159,7 +159,7 @@ Data Display Commands
       in the current stack frame, use the ``up`` or ``down`` command.

 

     Unfortunately, only inspecting variables is possible at the moment. Maybe

-    a future version will implement a full-blown Nimrod expression evaluator,

+    a future version will implement a full-blown Nim expression evaluator,

     but this is not easy to do and would bloat the debugger's code.

 

     Since displaying the whole data structures is often not needed and

diff --git a/doc/estp.txt b/doc/estp.txt
index 704bc33f2..500ee52a5 100644
--- a/doc/estp.txt
+++ b/doc/estp.txt
@@ -3,10 +3,10 @@
 ===================================================

 

 :Author: Andreas Rumpf

-:Version: |nimrodversion|

+:Version: |nimversion|

 

 

-Nimrod comes with a platform independent profiler -

+Nim comes with a platform independent profiler -

 the Embedded Stack Trace Profiler (ESTP). The profiler 
 is *embedded* into your executable. To activate the profiler you need to do: 
 
@@ -49,7 +49,7 @@ Example results file
 
 The results file lists stack traces ordered by significance. 
 
-The following example file has been generated by profiling the Nimrod compiler
+The following example file has been generated by profiling the Nim compiler
 itself: It shows that in total 5.4% of the runtime has been spent 
 in ``crcFromRope`` or its children.
 
@@ -74,7 +74,7 @@ often remains mysterious.
     CommandCompileToC
     MainCommand
     HandleCmdLine
-    nimrod
+    nim
   Entry: 1/3391 Calls: 46/4160 = 1.1% [sum: 130; 130/4160 = 3.1%]
     updateCrc32
     newCrcFromRopeAux
@@ -90,7 +90,7 @@ often remains mysterious.
     CommandCompileToC
     MainCommand
     HandleCmdLine
-    nimrod
+    nim
   Entry: 2/3391 Calls: 41/4160 = 0.99% [sum: 171; 171/4160 = 4.1%]
     updateCrc32
     updateCrc32
@@ -107,7 +107,7 @@ often remains mysterious.
     CommandCompileToC
     MainCommand
     HandleCmdLine
-    nimrod
+    nim
   Entry: 3/3391 Calls: 41/4160 = 0.99% [sum: 212; 212/4160 = 5.1%]
     crcFromFile
     writeRopeIfNotEqual
@@ -121,7 +121,7 @@ often remains mysterious.
     CommandCompileToC
     MainCommand
     HandleCmdLine
-    nimrod
+    nim
   Entry: 4/3391 Calls: 41/4160 = 0.99% [sum: 253; 253/4160 = 6.1%]
     updateCrc32
     crcFromFile
@@ -136,7 +136,7 @@ often remains mysterious.
     CommandCompileToC
     MainCommand
     HandleCmdLine
-    nimrod
+    nim
   Entry: 5/3391 Calls: 32/4160 = 0.77% [sum: 285; 285/4160 = 6.9%]
     pop
     newCrcFromRopeAux
@@ -152,7 +152,7 @@ often remains mysterious.
     CommandCompileToC
     MainCommand
     HandleCmdLine
-    nimrod
+    nim
   Entry: 6/3391 Calls: 17/4160 = 0.41% [sum: 302; 302/4160 = 7.3%]
     doOperation
     forAllChildrenAux
@@ -171,7 +171,7 @@ often remains mysterious.
     MainCommand
     HandleCmdLine
     ...
-    nimrod
+    nim
   Entry: 7/3391 Calls: 14/4160 = 0.34% [sum: 316; 316/4160 = 7.6%]
     Contains
     isAccessible
diff --git a/doc/filelist.txt b/doc/filelist.txt
index f71547f86..beff8f6c8 100644
--- a/doc/filelist.txt
+++ b/doc/filelist.txt
@@ -1,10 +1,10 @@
-Short description of Nimrod's modules
+Short description of Nim's modules
 -------------------------------------
 
 ==============  ==========================================================
 Module          Description
 ==============  ==========================================================
-nimrod          main module: parses the command line and calls
+nim          main module: parses the command line and calls
                 ``main.MainCommand``
 main            implements the top-level command dispatching
 nimconf         implements the config file reader
@@ -12,8 +12,8 @@ syntaxes        dispatcher for the different parsers and filters
 filter_tmpl     standard template filter (``#! stdtempl``)
 lexbase         buffer handling of the lexical analyser
 lexer           lexical analyser
-parser          Nimrod's parser
-renderer        Nimrod code renderer (AST back to its textual form)
+parser          Nim's parser
+renderer        Nim code renderer (AST back to its textual form)
 options         contains global and local compiler options
 ast             type definitions of the abstract syntax tree (AST) and
                 node constructors
@@ -37,7 +37,7 @@ pragmas         semantic checking of pragmas
 
 idents          implements a general mapping from identifiers to an internal
                 representation (``PIdent``) that is used so that a simple
-                id-comparison suffices to say whether two Nimrod identifiers
+                id-comparison suffices to say whether two Nim identifiers
                 are equivalent
 ropes           implements long strings represented as trees for
                 lazy evaluation; used mainly by the code generators
diff --git a/doc/filters.txt b/doc/filters.txt
index 961a0ea49..22df63490 100644
--- a/doc/filters.txt
+++ b/doc/filters.txt
@@ -40,7 +40,7 @@ Filters can be combined with the ``|`` pipe operator::
 Available filters
 =================
 
-**Hint:** With ``--verbosity:2`` (or higher) Nimrod lists the processed code
+**Hint:** With ``--verbosity:2`` (or higher) Nim lists the processed code
 after each filter application.
 
 Replace filter
@@ -79,19 +79,19 @@ Parameters and their defaults:
 StdTmpl filter
 --------------
 
-The stdtmpl filter provides a simple templating engine for Nimrod. The
+The stdtmpl filter provides a simple templating engine for Nim. The
 filter uses a line based parser: Lines prefixed with a *meta character*
-(default: ``#``) contain Nimrod code, other lines are verbatim. Because
+(default: ``#``) contain Nim code, other lines are verbatim. Because
 indentation-based parsing is not suited for a templating engine, control flow
 statements need ``end X`` delimiters.
 
 Parameters and their defaults:
 
   ``metaChar: char = '#'``
-    prefix for a line that contains Nimrod code
+    prefix for a line that contains Nim code
   
   ``subsChar: char = '$'``
-    prefix for a Nimrod expression within a template line
+    prefix for a Nim expression within a template line
     
   ``conc: string = " & "``
     the operation for concatenation
@@ -130,7 +130,7 @@ Example::
 
 The filter transforms this into:
 
-.. code-block:: nimrod
+.. code-block:: nim
   proc generateHTMLPage(title, currentTab, content: string,
                         tabs: openArray[string]): string = 
     result = ""
@@ -158,7 +158,7 @@ The filter transforms this into:
 Each line that does not start with the meta character (ignoring leading
 whitespace) is converted to a string literal that is added to ``result``. 
 
-The substitution character introduces a Nimrod expression *e* within the
+The substitution character introduces a Nim expression *e* within the
 string literal. *e* is converted to a string with the *toString* operation
 which defaults to ``$``. For strong type checking, set ``toString`` to the
 empty string. *e* must match this PEG pattern::
diff --git a/doc/gc.txt b/doc/gc.txt
index 18fb03b6d..fdb1d1b6c 100644
--- a/doc/gc.txt
+++ b/doc/gc.txt
@@ -1,9 +1,9 @@
 ==========================
-Nimrod's Garbage Collector
+Nim's Garbage Collector
 ==========================
 
 :Author: Andreas Rumpf

-:Version: |nimrodversion|

+:Version: |nimversion|

 
   "The road to hell is paved with good intentions."
 
@@ -37,7 +37,7 @@ it is necessary to help this analysis with the ``acyclic`` pragma (see
 
 You can also use the ``acyclic`` pragma for data that is cyclic in reality and 
 then break up the cycles explicitly with ``GC_addCycleRoot``. This can be a
-very valuable optimization; the Nimrod compiler itself relies on this 
+very valuable optimization; the Nim compiler itself relies on this 
 optimization trick to improve performance. Note that ``GC_addCycleRoot`` is
 a quick operation; the root is only registered for the next run of the 
 cycle collector.
@@ -49,7 +49,7 @@ Realtime support
 To enable realtime support, the symbol `useRealtimeGC`:idx: needs to be
 defined. With this switch the GC supports the following operations:
 
-.. code-block:: nimrod
+.. code-block:: nim
   proc GC_setMaxPause*(MaxPauseInUs: int)
   proc GC_step*(us: int, strongAdvice = false)
 
@@ -111,7 +111,7 @@ highly specialized environments or for older hardware.
 Keeping track of memory
 -----------------------
 
-If you need to pass around memory allocated by Nimrod to C, you can use the
+If you need to pass around memory allocated by Nim to C, you can use the
 procs ``GC_ref`` and ``GC_unref`` to mark objects as referenced to avoid them
 being freed by the GC. Other useful procs from `system <system.html>`_ you can
 use to keep track of memory are:
diff --git a/doc/idetools.txt b/doc/idetools.txt
index 97e110b1d..5429d0c07 100644
--- a/doc/idetools.txt
+++ b/doc/idetools.txt
@@ -1,9 +1,9 @@
 ================================
-  Nimrod IDE Integration Guide
+  Nim IDE Integration Guide
 ================================
 
 :Author: Britney Spears
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
 
@@ -13,17 +13,17 @@
   "yes, I'm the creator" -- Araq, 2013-07-26 19:28:32.
   </p></blockquote>
 
-Nimrod differs from many other compilers in that it is really fast,
+Nim differs from many other compilers in that it is really fast,
 and being so fast makes it suited to provide external queries for
 text editors about the source code being written. Through the
-``idetools`` command of `the compiler <nimrodc.html>`_, any IDE
+``idetools`` command of `the compiler <nimc.html>`_, any IDE
 can query a ``.nim`` source file and obtain useful information like
 definition of symbols or suggestions for completion.
 
 This document will guide you through the available options. If you
 want to look at practical examples of idetools support you can look
 at the test files found in the `Test suite`_ or `various editor
-integrations <https://github.com/Araq/Nimrod/wiki/Editor-Support>`_
+integrations <https://github.com/Araq/Nim/wiki/Editor-Support>`_
 already available.
 
 
@@ -37,11 +37,11 @@ All of the available idetools commands require you to specify a
 query location through the ``--track`` or ``--trackDirty`` switches.
 The general idetools invokations are::
 
-    nimrod idetools --track:FILE,LINE,COL <switches> proj.nim
+    nim idetools --track:FILE,LINE,COL <switches> proj.nim
 
 Or::
 
-    nimrod idetools --trackDirty:DIRTY_FILE,FILE,LINE,COL <switches> proj.nim
+    nim idetools --trackDirty:DIRTY_FILE,FILE,LINE,COL <switches> proj.nim
 
 ``proj.nim``
     This is the main *project* filename. Most of the time you will
@@ -97,7 +97,7 @@ provide the typical *Jump to definition* where a user puts the
 cursor on a symbol or uses the mouse to select it and is redirected
 to the place where the symbol is located.
 
-Since Nimrod is implemented in Nimrod, one of the nice things of
+Since Nim is implemented in Nim, one of the nice things of
 this feature is that any user with an IDE supporting it can quickly
 jump around the standard library implementation and see exactly
 what a proc does, learning about the language and seeing real life
@@ -118,7 +118,7 @@ includes/imports) and when the user starts typing something a
 completion box with different options appears.
 
 However such features are not context sensitive and work simply on
-string matching, which can be problematic in Nimrod especially due
+string matching, which can be problematic in Nim especially due
 to the case insensitiveness of the language (plus underscores as
 separators!).
 
@@ -179,16 +179,16 @@ in the millisecond range, thus being responsive enough for IDEs.
 If you want to start the server using stdin/stdout as communication
 you need to type::
 
-    nimrod serve --server.type:stdin proj.nim
+    nim serve --server.type:stdin proj.nim
 
 If you want to start the server using tcp and a port, you need to type::
 
-    nimrod serve --server.type:tcp --server.port:6000 \
+    nim serve --server.type:tcp --server.port:6000 \
       --server.address:hostname proj.nim
 
 In both cases the server will start up and await further commands.
 The syntax of the commands you can now send to the server is
-practically the same as running the nimrod compiler on the commandline,
+practically the same as running the nim compiler on the commandline,
 you only need to remove the name of the compiler since you are
 already talking to it. The server will answer with as many lines
 of text it thinks necessary plus an empty line to indicate the end
@@ -242,7 +242,7 @@ skConst
 | **Fourth column**: the type of the const value.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     const SOME_SEQUENCE = @[1, 2]
     --> col 2: $MODULE.SOME_SEQUENCE
         col 3: seq[int]
@@ -256,7 +256,7 @@ skEnumField
 | **Fourth column**: enum type grouping other enum fields.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     Open(filename, fmWrite)
     --> col 2: system.TFileMode.fmWrite
         col 3: TFileMode
@@ -270,7 +270,7 @@ skForVar
 | **Fourth column**: type of the var.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc looper(filename = "tests.nim") =
       for letter in filename:
         echo letter
@@ -291,7 +291,7 @@ posterior instances of the iterator.
 | **Fourth column**: signature of the iterator including return type.
 | **Docstring**: docstring if available.
 
-.. code-block:: nimrod
+.. code-block:: nim
     let
       text = "some text"
       letters = toSeq(runes(text))
@@ -307,7 +307,7 @@ skLabel
 | **Fourth column**: always the empty string.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc test(text: string) =
       var found = -1
       block loops:
@@ -323,7 +323,7 @@ skLet
 | **Fourth column**: the type of the let variable.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     let
       text = "some text"
     --> col 2: $MODULE.text
@@ -343,7 +343,7 @@ posterior instances of the macro.
 | **Fourth column**: signature of the macro including return type.
 | **Docstring**: docstring if available.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc testMacro() =
       expect(EArithmetic):
     --> col 2: idetools_api.expect
@@ -379,7 +379,7 @@ This may change in the future.
 | **Fourth column**: signature of the method including return type.
 | **Docstring**: docstring if available.
 
-.. code-block:: nimrod
+.. code-block:: nim
     method eval(e: PExpr): int = quit "to override!"
     method eval(e: PLiteral): int = e.x
     method eval(e: PPlusExpr): int = eval(e.a) + eval(e.b)
@@ -396,7 +396,7 @@ skParam
 | **Fourth column**: the type of the parameter.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc reader(filename = "tests.nim") =
       let text = readFile(filename)
     --> col 2: $MODULE.reader.filename
@@ -420,7 +420,7 @@ returned by idetools returns also the pragmas for the proc.
 | **Fourth column**: signature of the proc including return type.
 | **Docstring**: docstring if available.
 
-.. code-block:: nimrod
+.. code-block:: nim
     Open(filename, fmWrite)
     --> col 2: system.Open
         col 3: proc (var TFile, string, TFileMode, int): bool
@@ -438,7 +438,7 @@ skResult
 | **Fourth column**: the type of the result.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc getRandomValue() : int =
       return 4
     --> col 2: $MODULE.getRandomValue.result
@@ -458,7 +458,7 @@ posterior instances of the template.
 | **Fourth column**: signature of the template including return type.
 | **Docstring**: docstring if available.
 
-.. code-block:: nimrod
+.. code-block:: nim
     let
       text = "some text"
       letters = toSeq(runes(text))
@@ -469,7 +469,7 @@ posterior instances of the template.
 
      Example:
 
-     .. code-block:: nimrod
+     .. code-block:: nim
        let
          numeric = @[1, 2, 3, 4, 5, 6, 7, 8, 9]
          odd_numbers = toSeq(filter(numeric) do (x: int) -> bool:
@@ -485,7 +485,7 @@ skType
 | **Fourth column**: the type.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc writeTempFile() =
       var output: TFile
     --> col 2: system.TFile
@@ -500,7 +500,7 @@ skVar
 | **Fourth column**: the type of the var.
 | **Docstring**: always the empty string.
 
-.. code-block:: nimrod
+.. code-block:: nim
     proc writeTempFile() =
       var output: TFile
       output.open("/tmp/somefile", fmWrite)
@@ -527,8 +527,8 @@ At the moment idetools support is still in development so the test
 suite is not integrated with the main test suite and you have to
 run it manually. First you have to compile the tester::
 
-	$ cd my/nimrod/checkout/tests
-	$ nimrod c testament/caasdriver.nim
+	$ cd my/nim/checkout/tests
+	$ nim c testament/caasdriver.nim
 
 Running the ``caasdriver`` without parameters will attempt to process
 all the test cases in all three operation modes. If a test succeeds
@@ -540,7 +540,7 @@ parameter ``verbose`` to force all output even on successfull tests.
 
 The normal operation mode is called ``ProcRun`` and it involves
 starting a process for each command or query, similar to running
-manually the Nimrod compiler from the commandline. The ``CaasRun``
+manually the Nim compiler from the commandline. The ``CaasRun``
 mode starts a server process to answer all queries. The ``SymbolProcRun``
 mode is used by compiler developers.  This means that running all
 tests involves processing all ``*.txt`` files three times, which
diff --git a/doc/intern.txt b/doc/intern.txt
index 1dcf27774..6cd1987aa 100644
--- a/doc/intern.txt
+++ b/doc/intern.txt
@@ -1,10 +1,10 @@
 =========================================
-    Internals of the Nimrod Compiler
+    Internals of the Nim Compiler
 =========================================
 
 
 :Author: Andreas Rumpf
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
 
@@ -14,23 +14,23 @@
 Directory structure
 ===================
 
-The Nimrod project's directory structure is:
+The Nim project's directory structure is:
 
 ============   ==============================================
 Path           Purpose
 ============   ==============================================
 ``bin``        generated binary files
 ``build``      generated C code for the installation
-``compiler``   the Nimrod compiler itself; note that this
+``compiler``   the Nim compiler itself; note that this
                code has been translated from a bootstrapping 
                version written in Pascal, so the code is **not** 
-               a poster child of good Nimrod code
-``config``     configuration files for Nimrod
+               a poster child of good Nim code
+``config``     configuration files for Nim
 ``dist``       additional packages for the distribution
 ``doc``        the documentation; it is a bunch of
                reStructuredText files
-``lib``        the Nimrod library
-``web``        website of Nimrod; generated by ``nimweb``
+``lib``        the Nim library
+``web``        website of Nim; generated by ``nimweb``
                from the ``*.txt`` and ``*.tmpl`` files
 ============   ==============================================
 
@@ -38,26 +38,26 @@ Path           Purpose
 Bootstrapping the compiler
 ==========================
 
-As of version 0.8.5 the compiler is maintained in Nimrod. (The first versions 
+As of version 0.8.5 the compiler is maintained in Nim. (The first versions 
 have been implemented in Object Pascal.) The Python-based build system has 
-been rewritten in Nimrod too.
+been rewritten in Nim too.
 
 Compiling the compiler is a simple matter of running::
 
-  nimrod c koch.nim
+  nim c koch.nim
   ./koch boot
 
 For a release version use::
 
-  nimrod c koch.nim
+  nim c koch.nim
   ./koch boot -d:release
 
 And for a debug version compatible with GDB::
 
-  nimrod c koch.nim
+  nim c koch.nim
   ./koch boot --debuginfo --linedir:on
 
-The ``koch`` program is Nimrod's maintenance script. It is a replacement for
+The ``koch`` program is Nim's maintenance script. It is a replacement for
 make and shell scripting with the advantage that it is much more portable.
 More information about its options can be found in the `koch <koch.html>`_
 documentation.
@@ -80,13 +80,13 @@ See also the `API naming design <apis.html>`_ document.
 Porting to new platforms
 ========================
 
-Porting Nimrod to a new architecture is pretty easy, since C is the most
-portable programming language (within certain limits) and Nimrod generates
+Porting Nim to a new architecture is pretty easy, since C is the most
+portable programming language (within certain limits) and Nim generates
 C code, porting the code generator is not necessary.
 
 POSIX-compliant systems on conventional hardware are usually pretty easy to
 port: Add the platform to ``platform`` (if it is not already listed there),
-check that the OS, System modules work and recompile Nimrod.
+check that the OS, System modules work and recompile Nim.
 
 The only case where things aren't as easy is when the garbage
 collector needs some assembler tweaking to work. The standard
@@ -98,7 +98,7 @@ replace this generic code by some assembler code.
 Runtime type information
 ========================
 
-*Runtime type information* (RTTI) is needed for several aspects of the Nimrod
+*Runtime type information* (RTTI) is needed for several aspects of the Nim
 programming language:
 
 Garbage collection
@@ -108,7 +108,7 @@ Garbage collection
 
 Complex assignments
   Sequences and strings are implemented as
-  pointers to resizeable buffers, but Nimrod requires copying for
+  pointers to resizeable buffers, but Nim requires copying for
   assignments. Apart from RTTI the compiler could generate copy procedures
   for any type that needs one. However, this would make the code bigger and
   the RTTI is likely already there for the GC.
@@ -121,12 +121,12 @@ Look at the file ``lib/system/hti.nim`` for more information.
 The compiler's architecture
 ===========================
 
-Nimrod uses the classic compiler architecture: A lexer/scanner feds tokens to a
+Nim uses the classic compiler architecture: A lexer/scanner feds tokens to a
 parser. The parser builds a syntax tree that is used by the code generator.
 This syntax tree is the interface between the parser and the code generator.
 It is essential to understand most of the compiler's code.
 
-In order to compile Nimrod correctly, type-checking has to be separated from
+In order to compile Nim correctly, type-checking has to be separated from
 parsing. Otherwise generics cannot work.
 
 .. include:: filelist.txt
@@ -172,7 +172,7 @@ Frontend issues
 Methods and type converters
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Nimrod contains language features that are *global*. The best example for that
+Nim contains language features that are *global*. The best example for that
 are multi methods: Introducing a new method with the same name and some 
 compatible object parameter means that the method's dispatcher needs to take
 the new method into account. So the dispatching logic is only completely known
@@ -181,12 +181,12 @@ after the whole program has been translated!
 Other features that are *implicitly* triggered cause problems for modularity 
 too. Type converters fall into this category:
 
-.. code-block:: nimrod
+.. code-block:: nim
   # module A
   converter toBool(x: int): bool =
     result = x != 0
     
-.. code-block:: nimrod
+.. code-block:: nim
   # module B
   import A
   
@@ -254,7 +254,7 @@ turned on".
 
 
 
-Debugging Nimrod's memory management
+Debugging Nim's memory management
 ====================================
 
 The following paragraphs are mostly a reminder for myself. Things to keep
@@ -262,7 +262,7 @@ in mind:
 
 * Segmentation faults can have multiple reasons: One that is frequently
   forgotten is that *stack overflow* can trigger one!
-* If an assertion in Nimrod's memory manager or GC fails, the stack trace
+* If an assertion in Nim's memory manager or GC fails, the stack trace
   keeps allocating memory! Thus a stack overflow may happen, hiding the
   real issue. 
 * What seem to be C code generation problems is often a bug resulting from
@@ -300,7 +300,7 @@ set of pointers - this is called a ``TCellSet`` in the source code.
 Inserting, deleting and searching are done in constant time. However,
 modifying a ``TCellSet`` during traversation leads to undefined behaviour.
 
-.. code-block:: Nimrod
+.. code-block:: Nim
   type
     TCellSet # hidden
 
@@ -340,11 +340,11 @@ Complete traversal is done in this way::
 Further complications
 ---------------------
 
-In Nimrod the compiler cannot always know if a reference
+In Nim the compiler cannot always know if a reference
 is stored on the stack or not. This is caused by var parameters.
 Consider this example:
 
-.. code-block:: Nimrod
+.. code-block:: Nim
   proc setRef(r: var ref TNode) =
     new(r)
 
@@ -380,7 +380,7 @@ Code generation for closures is implemented by `lambda lifting`:idx:.
 Design
 ------
 
-A ``closure`` proc var can call ordinary procs of the default Nimrod calling
+A ``closure`` proc var can call ordinary procs of the default Nim calling
 convention. But not the other way round! A closure is implemented as a
 ``tuple[prc, env]``. ``env`` can be nil implying a call without a closure.
 This means that a call through a closure generates an ``if`` but the 
@@ -393,7 +393,7 @@ Tests with GCC on Amd64 showed that it's really beneficical if the
 Proper thunk generation is harder because the proc that is to wrap
 could stem from a complex expression: 
 
-.. code-block:: nimrod
+.. code-block:: nim
   receivesClosure(returnsDefaultCC[i])
 
 A thunk would need to call 'returnsDefaultCC[i]' somehow and that would require
@@ -405,7 +405,7 @@ to pass a proc pointer around via a generic ``ref`` type.
 
 Example code:
 
-.. code-block:: nimrod
+.. code-block:: nim
   proc add(x: int): proc (y: int): int {.closure.} = 
     return proc (y: int): int = 
       return x + y
@@ -415,7 +415,7 @@ Example code:
 
 This should produce roughly this code:
 
-.. code-block:: nimrod
+.. code-block:: nim
   type
     PEnv = ref object
       x: int # data
@@ -436,7 +436,7 @@ This should produce roughly this code:
 
 Beware of nesting:
 
-.. code-block:: nimrod
+.. code-block:: nim
   proc add(x: int): proc (y: int): proc (z: int): int {.closure.} {.closure.} = 
     return lamba (y: int): proc (z: int): int {.closure.} = 
       return lambda (z: int): int = 
@@ -447,7 +447,7 @@ Beware of nesting:
 
 This should produce roughly this code:
 
-.. code-block:: nimrod
+.. code-block:: nim
   type
     PEnvX = ref object
       x: int # data
@@ -492,7 +492,7 @@ environments. This is however not always possible.
 Accumulator
 -----------
 
-.. code-block:: nimrod
+.. code-block:: nim
   proc GetAccumulator(start: int): proc (): int {.closure} = 
     var i = start
     return lambda: int = 
diff --git a/doc/koch.txt b/doc/koch.txt
index 032151808..a3b7f0df8 100644
--- a/doc/koch.txt
+++ b/doc/koch.txt
@@ -1,8 +1,8 @@
 ===============================
-   Nimrod maintenance script
+   Nim maintenance script
 ===============================
 
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
 
@@ -15,10 +15,10 @@
 Introduction
 ============
 
-The `koch`:idx: program is Nimrod's maintenance script. It is a replacement
+The `koch`:idx: program is Nim's maintenance script. It is a replacement
 for make and shell scripting with the advantage that it is much more portable.
 The word *koch* means *cook* in German. ``koch`` is used mainly to build the
-Nimrod compiler, but it can also be used for other tasks. This document
+Nim compiler, but it can also be used for other tasks. This document
 describes the supported commands and their options.
 
 
@@ -40,21 +40,21 @@ options:
   option is not supported on Windows.
 -d:useGnuReadline
   Includes the `rdstdin module <rdstdin.html>`_ for `interactive
-  mode <nimrodc.html#nimrod-interactive-mode>`_ (aka ``nimrod i``).
+  mode <nimc.html#nim-interactive-mode>`_ (aka ``nim i``).
   This is not needed on Windows. On other platforms this may
   incorporate the GNU readline library.
 -d:nativeStacktrace
   Use native stack traces (only for Mac OS X or Linux).
 -d:noCaas
-  Builds Nimrod without compiler as a service (CAAS) support. CAAS
-  support is required for functionality like Nimrod's `idetool
+  Builds Nim without compiler as a service (CAAS) support. CAAS
+  support is required for functionality like Nim's `idetool
   <idetools.html>`_ command used to integrate the compiler with
-  `external IDEs <https://github.com/Araq/Nimrod/wiki/Editor-Support>`_.
+  `external IDEs <https://github.com/Araq/Nim/wiki/Editor-Support>`_.
 -d:avoidTimeMachine
   Only for Mac OS X, activating this switch will force excluding
   the generated ``nimcache`` directories from Time Machine backups.
   By default ``nimcache`` directories will be included in backups,
-  and just for the Nimrod compiler itself it means backing up 20MB
+  and just for the Nim compiler itself it means backing up 20MB
   of generated files each time you update the compiler. Using this
   option will make the compiler invoke the `tmutil
   <https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man8/tmutil.8.html>`_
@@ -66,18 +66,18 @@ options:
 
     $ find . -type d -name nimcache -exec tmutil isexcluded \{\} \;
 -d:useFFI
-  Nimrod code can use the `foreign function interface (FFI)
+  Nim code can use the `foreign function interface (FFI)
   <manual.html#foreign-function-interface>`_ at runtime, but macros
-  are limited to pure Nimrod code at compilation time.  Enabling
-  this switch will allow macros to execute non-nimrod code at
+  are limited to pure Nim code at compilation time.  Enabling
+  this switch will allow macros to execute non-nim code at
   compilation time (eg. open a file and write to it).
 --gc:refc|v2|markAndSweep|boehm|none
   Selects which garbage collection strategy to use for the compiler
-  and generated code. See the `Nimrod's Garbage Collector <gc.html>`_
+  and generated code. See the `Nim's Garbage Collector <gc.html>`_
   documentation for more information.
 
-After compilation is finished you will hopefully end up with the nimrod
-compiler in the ``bin`` directory. You can add Nimrod's ``bin`` directory to
+After compilation is finished you will hopefully end up with the nim
+compiler in the ``bin`` directory. You can add Nim's ``bin`` directory to
 your ``$PATH`` or use the `install command`_ to place it where it will be
 found.
 
@@ -101,7 +101,7 @@ The `inno`:idx: command builds the `Inno Setup installer for Windows
 install command
 ---------------
 
-The `install`:idx: command installs Nimrod to the specified directory, which
+The `install`:idx: command installs Nim to the specified directory, which
 is required as a parameter. For example, on Unix platforms you could run::
 
   $ ./koch install /usr/local/bin
@@ -109,8 +109,8 @@ is required as a parameter. For example, on Unix platforms you could run::
 temp command
 ------------
 
-The temp command builds the Nimrod compiler but with a different final name
-(``nimrod_temp``), so it doesn't overwrite your normal compiler. You can use
+The temp command builds the Nim compiler but with a different final name
+(``nim_temp``), so it doesn't overwrite your normal compiler. You can use
 this command to test different options, the same you would issue for the `boot
 command`_.
 
@@ -119,14 +119,14 @@ test command
 
 The `test`:idx: command can also be invoked with the alias ``tests``. This
 command will compile and run ``tests/testament/tester.nim``, which is the main
-driver of Nimrod's test suite. You can pass options to the ``test`` command,
+driver of Nim's test suite. You can pass options to the ``test`` command,
 they will be forwarded to the tester. See its source code for available
 options.
 
 update command
 --------------
 
-The `update`:idx: command updates nimrod to the latest version from github.
+The `update`:idx: command updates nim to the latest version from github.
 For this command to work you need to have compiled ``koch`` itself with the
 ``-d:withUpdate`` switch.
 
@@ -136,7 +136,7 @@ web command
 The `web`:idx: command converts the documentation in the ``doc`` directory
 from rst to HTML. It also repeats the same operation but places the result in
 the ``web/upload`` which can be used to update the website at
-http://nimrod-lang.org.
+http://nim-lang.org.
 
 zip command
 -----------
diff --git a/doc/nimgrep.txt b/doc/nimgrep.txt
index 67aaa427e..e2f7b228f 100644
--- a/doc/nimgrep.txt
+++ b/doc/nimgrep.txt
@@ -10,7 +10,7 @@ Nimgrep is a command line tool for search&replace tasks. It can search for
 regex or peg patterns and can search whole directories at once. User 
 confirmation for every single replace operation can be requested.
 
-Nimgrep has particularly good support for Nimrod's 
+Nimgrep has particularly good support for Nim's 
 eccentric *style insensitivity*. Apart from that it is a generic text 
 manipulation tool.
 
@@ -20,7 +20,7 @@ Installation
 
 Compile nimgrep with the command::
 
-  nimrod c -d:release tools/nimgrep.nim
+  nim c -d:release tools/nimgrep.nim
 
 And copy the executable somewhere in your ``$PATH``.
 
diff --git a/doc/niminst.txt b/doc/niminst.txt
index 8d95d01c9..d743c5187 100644
--- a/doc/niminst.txt
+++ b/doc/niminst.txt
@@ -3,14 +3,14 @@
 =========================
 
 :Author: Andreas Rumpf
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
 
 Introduction
 ============
 
-niminst is a tool to generate an installer for a Nimrod program. Currently
+niminst is a tool to generate an installer for a Nim program. Currently
 it can create an installer for Windows 
 via `Inno Setup <http://www.jrsoftware.org/isinfo.php>`_ as well as
 installation/deinstallation scripts for UNIX. Later versions will support 
@@ -24,7 +24,7 @@ systems.
 Configuration file
 ==================
 
-niminst uses the Nimrod `parsecfg <parsecfg.html>`_ module to parse the 
+niminst uses the Nim `parsecfg <parsecfg.html>`_ module to parse the 
 configuration file. Here's an example of how the syntax looks like:
 
 .. include:: doc/mytest.cfg
@@ -187,9 +187,9 @@ Key                    description
 Real world example
 ==================
 
-The installers for the Nimrod compiler itself are generated by niminst. Have a
+The installers for the Nim compiler itself are generated by niminst. Have a
 look at its configuration file:
 
-.. include:: compiler/nimrod.ini
+.. include:: compiler/nim.ini
      :literal:
 
diff --git a/doc/overview.txt b/doc/overview.txt
index 242039086..5b41752ae 100644
--- a/doc/overview.txt
+++ b/doc/overview.txt
@@ -1,9 +1,9 @@
 =============================
-Nimrod Documentation Overview
+Nim Documentation Overview
 =============================
 
 :Author: Andreas Rumpf
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. include:: ../doc/docs.txt
 
diff --git a/doc/pegdocs.txt b/doc/pegdocs.txt
index e2f3cdf4b..d22d81a5a 100644
--- a/doc/pegdocs.txt
+++ b/doc/pegdocs.txt
@@ -171,7 +171,7 @@ The PEG parser implements this grammar (written in PEG syntax)::
 expression, identifiers are not interpreted as non-terminals, but are 
 interpreted as verbatim string:
 
-.. code-block:: nimrod
+.. code-block:: nim
   abc =~ peg"abc" # is true
 
 So it is not necessary to write ``peg" 'abc' "`` in the above example.
@@ -182,17 +182,17 @@ Examples
 
 Check if `s` matches Nim's "while" keyword:
 
-.. code-block:: nimrod
+.. code-block:: nim
   s =~ peg" y'while'"
 
 Exchange (key, val)-pairs: 
 
-.. code-block:: nimrod
+.. code-block:: nim
   "key: val; key2: val2".replace(peg"{\ident} \s* ':' \s* {\ident}", "$2: $1")
 
 Determine the ``#include``'ed files of a C file:
 
-.. code-block:: nimrod
+.. code-block:: nim
   for line in lines("myfile.c"):
     if line =~ peg"""s <- ws '#include' ws '"' {[^"]+} '"' ws
                      comment <- '/*' @ '*/' / '//' .*
diff --git a/doc/readme.txt b/doc/readme.txt
index 7f509bd39..e5d9e2c27 100644
--- a/doc/readme.txt
+++ b/doc/readme.txt
@@ -1,7 +1,7 @@
 ============================

-Nimrod's documenation system

+Nim's documenation system

 ============================

 

-This folder contains Nimrod's documentation. The documentation

+This folder contains Nim's documentation. The documentation

 is written in a format called *reStructuredText*, a markup language that reads

 like ASCII and can be converted to HTML automatically!

diff --git a/doc/regexprs.txt b/doc/regexprs.txt
index 930352948..d912c623e 100644
--- a/doc/regexprs.txt
+++ b/doc/regexprs.txt
@@ -44,9 +44,9 @@ As the regular expressions supported by this module are enormous,
 the reader is referred to http://perldoc.perl.org/perlre.html for the
 full documentation of Perl's regular expressions.
 
-Because the backslash ``\`` is a meta character both in the Nimrod
+Because the backslash ``\`` is a meta character both in the Nim
 programming language and in regular expressions, it is strongly
-recommended that one uses the *raw* strings of Nimrod, so that
+recommended that one uses the *raw* strings of Nim, so that
 backslashes are interpreted by the regular expression engine::
 
   r"\S"  # matches any character that is not whitespace
diff --git a/doc/rst.txt b/doc/rst.txt
index 4199598d1..1e858d617 100644
--- a/doc/rst.txt
+++ b/doc/rst.txt
@@ -1,9 +1,9 @@
 ===========================================================================
-       Nimrod's implementation of |rst|
+       Nim's implementation of |rst|
 ===========================================================================
 
 :Author: Andreas Rumpf
-:Version: |nimrodversion|
+:Version: |nimversion|
 
 .. contents::
 
@@ -11,15 +11,15 @@ Introduction
 ============
 
 This document describes the subset of `Docutils`_' `reStructuredText`_ as it
-has been implemented in the Nimrod compiler for generating documentation.
+has been implemented in the Nim compiler for generating documentation.
 Elements of |rst| that are not listed here have not been implemented.
-Unfortunately, the specification of |rst| is quite vague, so Nimrod is not as
+Unfortunately, the specification of |rst| is quite vague, so Nim is not as
 compatible to the original implementation as one would like.
 
-Even though Nimrod's |rst| parser does not parse all constructs, it is pretty
+Even though Nim's |rst| parser does not parse all constructs, it is pretty
 usable. The missing features can easily be circumvented. An indication of this
-fact is that Nimrod's *whole* documentation itself (including this document) is
-processed by Nimrod's |rst| parser. (Which is an order of magnitude faster than
+fact is that Nim's *whole* documentation itself (including this document) is
+processed by Nim's |rst| parser. (Which is an order of magnitude faster than
 Docutils' parser.)
 
 
@@ -65,19 +65,19 @@ Definition lists
 
 Save this code to the file "greeting.nim". Now compile and run it:
 
-  ``nimrod run greeting.nim``
+  ``nim run greeting.nim``
 
-As you see, with the ``run`` command Nimrod executes the file automatically
+As you see, with the ``run`` command Nim executes the file automatically
 after compilation. You can even give your program command line arguments by
 appending them after the filename that is to be compiled and run:
 
-  ``nimrod run greeting.nim arg1 arg2``
+  ``nim run greeting.nim arg1 arg2``
 
 
 Tables
 ======
 
-Nimrod only implements simple tables of the form::
+Nim only implements simple tables of the form::
 
   ==================      ===============       ===================
   header 1                header 2              header n
diff --git a/doc/sets_fragment.txt b/doc/sets_fragment.txt
index fba355269..32dbac1c2 100644
--- a/doc/sets_fragment.txt
+++ b/doc/sets_fragment.txt
@@ -6,7 +6,7 @@ Sets can be constructed via the set constructor: ``{}`` is the empty set. The
 empty set is type compatible with any concrete set type. The constructor
 can also be used to include elements (and ranges of elements):
 
-.. code-block:: nimrod
+.. code-block:: nim
   type
     TCharSet = set[char]
   var
diff --git a/doc/spawn.txt b/doc/spawn.txt
index c5c96ecf8..b2496285f 100644
--- a/doc/spawn.txt
+++ b/doc/spawn.txt
@@ -2,7 +2,7 @@
                   Parallel & Spawn
 ==========================================================
 
-Nimrod has two flavors of parallelism: 
+Nim has two flavors of parallelism: 
 1) `Structured`:idx parallelism via the ``parallel`` statement.
 2) `Unstructured`:idx: parallelism via the standalone ``spawn`` statement.
 
@@ -24,7 +24,7 @@ Parallel statement
 
 Example:
 
-.. code-block:: nimrod
+.. code-block:: nim
   # Compute PI in an inefficient way
   import strutils, math, threadpool
 
@@ -42,7 +42,7 @@ Example:
 
 
 The parallel statement is the preferred mechanism to introduce parallelism
-in a Nimrod program. A subset of the Nimrod language is valid within a
+in a Nim program. A subset of the Nim language is valid within a
 ``parallel`` section. This subset is checked to be free of data races at
 compile time. A sophisticated `disjoint checker`:idx: ensures that no data
 races are possible even though shared memory is extensively supported!
@@ -77,7 +77,7 @@ the passed expression on the thread pool and returns a `data flow variable`:idx:
 **blocking**. However, one can use ``awaitAny`` to wait on multiple flow
 variables at the same time:
 
-.. code-block:: nimrod
+.. code-block:: nim
   import threadpool, ...
   
   # wait until 2 out of 3 servers received the update:
diff --git a/doc/subexes.txt b/doc/subexes.txt
index 3b688fd0a..7cad183b9 100644
--- a/doc/subexes.txt
+++ b/doc/subexes.txt
@@ -45,7 +45,7 @@ Notation                meaning
 Examples
 ========
 
-.. code-block:: nimrod
+.. code-block:: nim
 
   subex"$1($', '{2..})" % ["f", "a", "b", "c"] == "f(a, b, c)"
   
diff --git a/doc/tools.txt b/doc/tools.txt
index 0127bc4a8..7a91ca6d0 100644
--- a/doc/tools.txt
+++ b/doc/tools.txt
@@ -1,20 +1,20 @@
 ===========================
-Tools available with Nimrod
+Tools available with Nim
 ===========================
 
 The standard distribution ships with the following tools:
 
-- | `Nimrod Installation Generator <niminst.html>`_
-  | How to generate a nice installer for your Nimrod program.
+- | `Nim Installation Generator <niminst.html>`_
+  | How to generate a nice installer for your Nim program.
 
 - | `C2nim <c2nim.html>`_
-  | C to Nimrod source converter. Translates C header files to Nimrod.
+  | C to Nim source converter. Translates C header files to Nim.
 
 - | `nimgrep <nimgrep.html>`_
-  | Nimrod search and replace utility.
+  | Nim search and replace utility.
 
 - | `endb <endb.html>`_
-  | Nimrod's slow platform independent embedded debugger.
+  | Nim's slow platform independent embedded debugger.
 
 - | `estp <estp.html>`_
-  | Nimrod's slow platform independent embedded stack trace profiler.
+  | Nim's slow platform independent embedded stack trace profiler.
diff --git a/doc/tut2.txt b/doc/tut2.txt
index 8cd977a96..0c54fa9a1 100644
--- a/doc/tut2.txt
+++ b/doc/tut2.txt
@@ -858,7 +858,7 @@ The good news is not much has changed! First, we need to change the handling of
 the input parameter. In the dynamic version the ``readCfgAtRuntime`` proc
 receives a string parameter. However, in the macro version it is also declared
 as string, but this is the *outside* interface of the macro.  When the macro is
-run, it actually gets a ``PNimrodNode`` object instead of a string, and we have
+run, it actually gets a ``PNimNode`` object instead of a string, and we have
 to call the ``strVal`` proc from the `macros module <macros.html>`_ to obtain
 the string being passed in to the macro.