version 0.8.2

This commit is contained in:
rumpf_a@web.de 2009-10-21 10:20:15 +02:00
commit 053309e60a
125 changed files with 6564 additions and 1308 deletions

View file

@ -3,8 +3,8 @@
Here you can download the latest version of the Nimrod Compiler.
Please choose your platform:
* source-based installation: `<download/nimrod_0.8.0.zip>`_
* installer for Windows XP/Vista (i386): `<download/nimrod_0.8.0.exe>`_
* source-based installation: `<download/nimrod_0.8.2.zip>`_
* installer for Windows XP/Vista (i386): `<download/nimrod_0.8.2.exe>`_
(includes GCC and everything else you need)
The source-based installation has been tested on these systems:

View file

@ -75,9 +75,10 @@ Nimrod is expressive
Nimrod is elegant
=================
* Macros can use the imperative paradigm to construct parse trees. Nimrod
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.
* Yet Nimrod can be parsed with an LL(1) parser.
* 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.
@ -103,9 +104,8 @@ Nimrod plays nice with others
Roadmap to 1.0
==============
Version 0.8.4
Version 0.8.x
* general expressions as generic parameters
* multimethods
Version 0.9.0
* closures and anonymous procs
@ -120,6 +120,6 @@ Planned features beyond 1.0
===========================
* Threading with a transactional memory modell (the type system may be
enhanced to support extensive compile-time checks for this)
* Recursive iterators/coroutines
* Other code generators: LLVM, EcmaScript
enhanced to support extensive compile-time checks for this).
* Recursive iterators/coroutines.
* Other code generators: LLVM, EcmaScript.

View file

@ -2,9 +2,70 @@
News
====
2009-10-21 Version 0.8.2 released
=================================
2009-09-12 Date Version 0.8.0 released
======================================
Bugfixes
--------
- Passing ``--hint[X]:off`` or ``--warning[X]:off`` as command line arguments
to the compiler now works.
- Default parameters for templates now work.
- Fixed security issue in ``system.copy``.
- String case without an ``else`` part generated wrong code.
- Various fixes for the ``osproc`` module; it now works on Windows.
Additions
---------
- Implemented multi-methods.
- The compiler now detects the number of available processors and
executes the C compiler concurrently. This can be adjusted by the
``--parallel_build: number_of_processors`` command line switch.
- PEG-based pattern matching via the `pegs <pegs.html>`_ module.
- Added ``system.definedInScope``.
- Added ``system.accumulateResult``.
- Added ``os.walkDirRec``.
- Added ``osproc.countProcessors``.
- Added ``osproc.execProcesses``.
- The configuration system now supports ``$cc.options.linker``.
- Merged ``expr`` and ``typeDesc`` in the grammar/parser: this will allow for
anonymous procs without ``lambda``.
- Many scripts have no need for a GC: The new ``--gc:none`` command line switch
can be used to exclude the GC from the executable.
Changes affecting backwards compability
---------------------------------------
- Taking the address of an object discriminant is now invalid.
- Passing a proc to a proc var is only allowed for procs marked with
``procvar`` or a calling convention != ``nimcall``. For now this only causes
a warning, but this will turn into an error soon.
- ``system.&`` and ``system.add`` now receive ``openArray`` instead of ``seq``
parameters.
- Removed ``strutils.findSubStr`` and ``strutils.findChars``. They have been
deprecated for 3 versions.
- The unicode module uses a distinct type for ``TRune``.
- Deprecated ``strutils.toString``: use ``$`` instead.
- Deprecated ``os.splitPath``: use ``os.splitPath`` that returns a tuple
instead.
- Deprecated ``os.extractDir``: use ``splitFile(path).dir`` instead.
- Deprecated ``os.splitFilename``: use ``splitFile`` instead.
- Deprecated ``os.extractFileExt``: use ``splitFile`` instead.
- Deprecated ``os.extractFileTrunk``: use ``splitFile`` instead.
- Deprecated ``os.appendFileExt``: use ``os.addFileExt`` instead.
- Deprecated ``os.executeShellCommand``: use ``os.execShellCmd`` instead.
- Deprecated ``os.iterOverEnvironment``: use ``os.envPairs`` instead.
- Deprecated ``parseopt.init``: use ``parseopt.initOptParser`` instead.
- Deprecated ``parseopt.getRestOfCommandLine``: use ``parseopt.cmdLineRest``
instead.
- Deprecated ``os.pcDirectory``: use ``os.pcDir`` instead.
- Deprecated ``os.pcLinkToDirectory``: use ``os.pcLinkToDir`` instead.
- Deprecated ``osproc.executeProcess``: use ``osproc.execProcess`` instead.
- Deprecated ``osproc.executeCommand``: use ``osproc.execCmd`` instead.
2009-09-12 Version 0.8.0 released
=================================
Bugfixes
--------

View file

@ -22,6 +22,7 @@ file: ticker
[Documentation]
doc: "endb;intern;apis;lib;manual;tut1;tut2;nimrodc;overview"
pdf: "manual;lib;tut1;tut2;nimrodc"
srcdoc: "system.nim;pure/os;pure/strutils;pure/regexprs;pure/math"
srcdoc: "pure/complex;pure/times;pure/osproc;pure/pegs;pure/dynlib"
srcdoc: "pure/parseopt;pure/hashes;pure/strtabs;pure/lexbase"

View file

@ -1,6 +1,9 @@
| `2009-10-21`:newsdate:
| Nimrod version 0.8.2 has been released!
Get it `here <./download.html>`_.
| `2009-09-12`:newsdate:
| Nimrod version 0.8.0 has been released!
Get it `here <./download.html>`_.
| `2009-06-08`:newsdate:
| Nimrod version 0.7.10 has been released!