diff options
Diffstat (limited to 'web/index.txt')
-rw-r--r-- | web/index.txt | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/web/index.txt b/web/index.txt index 947ebb706..04c953628 100644 --- a/web/index.txt +++ b/web/index.txt @@ -2,13 +2,13 @@ Home ==== -Welcome to Nimrod ------------------ +Welcome to Nim +-------------- -**Nimrod** is a statically typed, imperative programming language that tries to -give the programmer ultimate power without compromises on runtime efficiency. -This means it focuses on compile-time mechanisms in all their -various forms. +**Nim** (formerly known as "Nimrod") is a statically typed, imperative +programming language that tries to give the programmer ultimate power without +compromises on runtime efficiency. This means it focuses on compile-time +mechanisms in all their various forms. Beneath a nice infix/indentation based syntax with a powerful (AST based, hygienic) macro system lies a semantic model that supports @@ -18,10 +18,10 @@ shared memory heap is also provided for the increased efficiency that results from that model. -Nimrod looks like this: -======================= +Nim looks like this: +==================== -.. code-block:: nimrod +.. code-block:: nim # compute average line length var count = 0 var sum = 0 @@ -34,11 +34,11 @@ Nimrod looks like this: if count > 0: sum / count else: 0 -Nimrod is efficient -=================== +Nim is efficient +================ * Native code generation (currently via compilation to C), not dependent on a - virtual machine: **Nimrod produces small executables without dependencies + virtual machine: **Nim produces small executables without dependencies for easy redistribution.** * A fast **non-tracing** garbage collector that supports soft real-time systems (like games). @@ -55,11 +55,11 @@ Nimrod is efficient the stack. -Nimrod is expressive -==================== +Nim is expressive +================= -* **The Nimrod compiler and all of the standard library are implemented in - Nimrod.** +* **The Nim compiler and all of the standard library are implemented in + Nim.** * Built-in high level datatypes: strings, sets, sequences, etc. * Modern type system with local type inference, tuples, variants, generics, etc. @@ -69,31 +69,31 @@ Nimrod is expressive * Macros can modify the abstract syntax tree at compile time. -Nimrod is elegant -================= +Nim is elegant +============== -* Macros can use the imperative paradigm to construct parse trees. Nimrod +* Macros can use the imperative paradigm to construct parse trees. Nim does not require a different coding style for meta programming. -* Macros cannot change Nimrod's syntax because there is no need for it. - Nimrod's syntax is flexible enough. +* Macros cannot change Nim's syntax because there is no need for it. + Nim's syntax is flexible enough. * Statements are grouped by indentation but can span multiple lines. Indentation must not contain tabulators so the compiler always sees the code the same way as you do. -Nimrod plays nice with others -============================= +Nim plays nice with others +========================== -* The Nimrod Compiler runs on Windows, Linux, BSD and Mac OS X. +* The Nim Compiler runs on Windows, Linux, BSD and Mac OS X. Porting to other platforms is easy. -* **The Nimrod Compiler can also generate C++ or Objective C for easier +* **The Nim Compiler can also generate C++ or Objective C for easier interfacing.** * There are lots of bindings: for example, bindings to GTK2, the Windows API, the POSIX API, OpenGL, SDL, Cairo, Python, Lua, TCL, X11, libzip, PCRE, libcurl, mySQL and SQLite are included in the standard distribution or can easily be obtained via the `Babel package manager <https://github.com/nimrod-code/babel>`_. -* A C to Nimrod conversion utility: New bindings to C libraries are easily +* A C to Nim conversion utility: New bindings to C libraries are easily generated by ``c2nim``. |