Merge branch 'devel' into bigbreak

Conflicts:
	compiler/nim.ini
	doc/manual.txt
	doc/tut2.txt
	koch.nim
	lib/system/channels.nim
	readme.txt
	tools/niminst/niminst.nim
	tools/nimweb.nim
	web/download.txt
	web/news.txt
This commit is contained in:
Araq 2014-10-20 08:44:00 +02:00
commit 53a9d6f5cd
24 changed files with 814 additions and 278 deletions

View file

@ -3,36 +3,12 @@ News
====
..
2014-10-11 Version 0.10.0 released
2014-10-21 Version 0.10.0 released
==================================
Changes affecting backwards compatibility
-----------------------------------------
- ``spawn`` now uses an elaborate self-adapting thread pool and as such
has been moved into its own module. So to use it, you now have to import
``threadpool``.
- The symbol binding rules in generics changed: ``bar`` in ``foo.bar`` is
now considered for implicit early binding.
- ``c2nim`` moved into its own
`repository <https://github.com/nimrod-code/c2nim>`_
and is now a Nimble package.
- ``pas2nim`` moved into its own
`repository <https://github.com/nimrod-code/pas2nim>`_
and is now a Nimble package.
- ``system.$`` for floating point types now produces a human friendly string
representation.
- ``uri.TUrl`` as well as the ``parseurl`` module are now deprecated in favour
of the new ``TUri`` type in the ``uri`` module.
- The ``destructor`` pragma has been deprecated. Use the ``override`` pragma
instead. The destructor's name has to be ``destroy`` now.
- ``lambda`` is not a keyword anymore.
- **system.defined has been split into system.defined and system.declared**.
You have to use ``--symbol`` to declare new conditional symbols that can be
set via ``--define``.
- ``--threadanalysis:on`` is now the default. To make your program compile
you can disable it but this is only a temporary solution as this option
will disappear soon!
- ``system.fileHandle`` has been renamed to ``system.getFileHandle`` to
prevent name conflicts with the new type ``FileHandle``.
- Comments are now not part of the AST, as such you cannot use them in place
@ -49,12 +25,20 @@ News
be used instead.
- Large parts of the stdlib got rid of the T/P type prefixes. Instead most
types now simply start with an uppercased letter. The
so called "partial case sensitivity" is now active allowing code
like ``var foo: Foo``.
- String case (or any non-ordinal case) statements
so called "partial case sensitivity" is now active allowing for code
like ``var foo: Foo`` in more contexts.
- String case (or any non-ordinal case) statements
without 'else' are deprecated.
- Recursive tuple types are not allowed anymore. Use ``object`` instead.
Language Additions
------------------
- The new concurrency model has been implemented including ``locks`` sections,
lock levels and object field ``guards``.
- The ``parallel`` statement has been implemented.
- ``deepCopy`` has been added to the language.
Compiler Additions
------------------
@ -76,11 +60,48 @@ News
system.writeFile
2014-10-19 Nimrod version 0.9.6 released
========================================
**Note: 0.9.6 is the last release of Nimrod. The language has been renamed to
Nim. Nim slightly breaks compatibility.**
This is a maintenance release. The upcoming 0.10.0 release has
the new features and exciting developments.
Changes affecting backwards compatibility
-----------------------------------------
- ``spawn`` now uses an elaborate self-adapting thread pool and as such
has been moved into its own module. So to use it, you now have to import
``threadpool``.
- The symbol binding rules in generics changed: ``bar`` in ``foo.bar`` is
now considered for implicit early binding.
- ``c2nim`` moved into its own repository and is now a Babel package.
- ``pas2nim`` moved into its own repository and is now a Babel package.
- ``system.$`` for floating point types now produces a human friendly string
representation.
- ``uri.TUrl`` as well as the ``parseurl`` module are now deprecated in favour
of the new ``TUri`` type in the ``uri`` module.
- The ``destructor`` pragma has been deprecated. Use the ``override`` pragma
instead. The destructor's name has to be ``destroy`` now.
- ``lambda`` is not a keyword anymore.
- **system.defined has been split into system.defined and system.declared**.
You have to use ``--symbol`` to declare new conditional symbols that can be
set via ``--define``.
- ``--threadanalysis:on`` is now the default. To make your program compile
you can disable it but this is only a temporary solution as this option
will disappear soon!
Language Additions
------------------
- This version introduces the new ``deprecated`` pragma statement that is used
to handle the upcoming massive amount of symbol renames.
- ``spawn`` can now wrap proc that has a return value. It then returns a flow
variable of the wrapped return type.
Library Additions