too many changes to list
This commit is contained in:
parent
916c25f9a7
commit
07d5a8085b
200 changed files with 24344 additions and 17809 deletions
|
|
@ -6,24 +6,24 @@ Home
|
|||
will not succeed without a good name. I have recently invented a very good
|
||||
name and now I am looking for a suitable language."
|
||||
-- D. E. Knuth
|
||||
|
||||
|
||||
**This page is about the Nimrod programming language, which combines Lisp's
|
||||
power with Python's readability and C++'s performance.**
|
||||
|
||||
Welcome to the Nimrod programming language
|
||||
------------------------------------------
|
||||
|
||||
**Nimrod** is a new statically typed, imperative
|
||||
programming language, that supports procedural, functional, object oriented and
|
||||
generic programming styles while remaining simple and efficient. A special
|
||||
**Nimrod** is a new statically typed, imperative
|
||||
programming language, that supports procedural, functional, object oriented and
|
||||
generic programming styles while remaining simple and efficient. A special
|
||||
feature that Nimrod inherited from Lisp is that Nimrod's abstract syntax tree
|
||||
(*AST*) is part of the specification - this allows a powerful macro system which
|
||||
(*AST*) is part of the specification - this allows a powerful macro system which
|
||||
can be used to create domain specific languages.
|
||||
|
||||
*Nimrod* is a compiled, garbage-collected systems programming language
|
||||
which has an excellent productivity/performance ratio. Nimrod's design
|
||||
focuses on the 3E: efficiency, expressiveness, elegance (in the order of
|
||||
priority).
|
||||
*Nimrod* is a compiled, garbage-collected systems programming language
|
||||
which has an excellent productivity/performance ratio. Nimrod's design
|
||||
focuses on the 3E: efficiency, expressiveness, elegance (in the order of
|
||||
priority).
|
||||
|
||||
|
||||
Some more of Nimrod's highlights:
|
||||
|
|
@ -34,24 +34,29 @@ Some more of Nimrod's highlights:
|
|||
Porting to other platforms is easy.
|
||||
* System programming features: Ability to manage your own memory and access the
|
||||
hardware directly. You will never have to use C/C++ for that again!
|
||||
* Closures and iterators.
|
||||
* Exceptions.
|
||||
* Zero-overhead iterators.
|
||||
* Modern type system with local type inference, tuples, variants, etc.
|
||||
* User-defineable operators; new operators often easier to read than overloaded
|
||||
ones.
|
||||
* User-defineable operators; new operators often easier to read than
|
||||
overloaded ones.
|
||||
* High level datatypes: strings, sets, sequences, etc.
|
||||
* Compile time evaluation without resorting to meta-programming facilities.
|
||||
* *Forward* compability: If later versions of the language introduce new
|
||||
* Forward compability: If later versions of the language introduce new
|
||||
keywords old code won't break!
|
||||
* Bindings to GTK2, the Windows API, the POSIX API. New bindings are
|
||||
easily generated in a semi-atomatic way.
|
||||
* A plugable parser system: If you don't like Nimrod's syntax, you can plug in
|
||||
a parser and a source renderer for your own syntax!
|
||||
* Bindings to GTK2, the Windows API, the POSIX API. New bindings are easily
|
||||
generated in a semi-atomatic way.
|
||||
* A plugable parser system: If you don't like Nimrod's syntax, you can plug
|
||||
in a parser and a source renderer for your own syntax!
|
||||
* A documentation generator with an internal reStructuredText parser: This
|
||||
can also be used to write documentation that is not embedded into the
|
||||
source code. This makes documentation writing a joy (well, almost).
|
||||
* A Pascal to Nimrod conversion utility: This is particularly useful for
|
||||
generating bindings to any library which has a Pascal binding
|
||||
(these are many!).
|
||||
|
||||
..
|
||||
..
|
||||
The Zen of Nimrod
|
||||
-----------------
|
||||
|
||||
|
||||
* Faster computers are for solving bigger problems, not wasting cycles.
|
||||
* Static is better than dynamic: More efficient, more understandable,
|
||||
better verifyable.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue