documentation updates

This commit is contained in:
Araq 2014-10-11 13:20:00 +02:00
commit 028a62e2ba
2 changed files with 67 additions and 39 deletions

View file

@ -5039,6 +5039,27 @@ first implementation to play with a language feature before a nicer syntax
to access the feature becomes available. to access the feature becomes available.
deprecated pragma
-----------------
The deprecated pragma is used to mark a symbol as deprecated:
.. code-block:: nimrod
proc p() {.deprecated.}
var x {.deprecated.}: char
It can also be used as a statement. Then it takes a list of *renamings*. The
upcoming ``nimfix`` tool can automatically update the code and perform these
renamings:
.. code-block:: nimrod
type
File = object
Stream = ref object
{.deprecated: [TFile: File, PStream: Stream].}
noSideEffect pragma noSideEffect pragma
------------------- -------------------
The ``noSideEffect`` pragma is used to mark a proc/iterator to have no side The ``noSideEffect`` pragma is used to mark a proc/iterator to have no side

View file

@ -2,50 +2,57 @@
News News
==== ====
.. 2014-10-11 Version 0.9.6 released
2014-06-29 Version 0.9.6 released =================================
=================================
Changes affecting backwards compatibility **Note: This is the last release of Nimrod. The language has been renamed to
----------------------------------------- Nim. Nim slightly breaks compatibility.**
- ``spawn`` now uses an elaborate self-adapting thread pool and as such This is a maintenance release. The upcoming 0.10.0 release has all
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 has been moved into its own module. So to use it, you now have to import
``threadpool``. ``threadpool``.
- The symbol binding rules in generics changed: ``bar`` in ``foo.bar`` is - The symbol binding rules in generics changed: ``bar`` in ``foo.bar`` is
now considered for implicit early binding. now considered for implicit early binding.
- ``c2nim`` moved into its own repository and is now a Babel package. - ``c2nim`` moved into its own repository and is now a Babel package.
- ``pas2nim`` 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 - ``system.$`` for floating point types now produces a human friendly string
representation. representation.
- ``uri.TUrl`` as well as the ``parseurl`` module are now deprecated in favour - ``uri.TUrl`` as well as the ``parseurl`` module are now deprecated in favour
of the new ``TUri`` type in the ``uri`` module. of the new ``TUri`` type in the ``uri`` module.
- The ``destructor`` pragma has been deprecated. Use the ``override`` pragma - The ``destructor`` pragma has been deprecated. Use the ``override`` pragma
instead. The destructor's name has to be ``destroy`` now. instead. The destructor's name has to be ``destroy`` now.
- ``lambda`` is not a keyword anymore. - ``lambda`` is not a keyword anymore.
- **system.defined has been split into system.defined and system.declared**. - **system.defined has been split into system.defined and system.declared**.
You have to use ``--symbol`` to declare new conditional symbols that can be You have to use ``--symbol`` to declare new conditional symbols that can be
set via ``--define``. set via ``--define``.
- ``--threadanalysis:on`` is now the default. To make your program compile - ``--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 you can disable it but this is only a temporary solution as this option
will disappear soon! will disappear soon!
Language Additions Language Additions
------------------ ------------------
- There is a new ``parallel`` statement for safe fork&join parallel computing. - This version introduces the new ``deprecated`` pragma statement that is used
to handle the upcoming massive amount of symbol renames.
Library Additions Library Additions
----------------- -----------------
- Added module ``cpuinfo``. - Added module ``cpuinfo``.
- Added module ``threadpool``. - Added module ``threadpool``.
- ``sequtils.distnct`` has been renamed to ``sequtils.deduplicate``. - ``sequtils.distnct`` has been renamed to ``sequtils.deduplicate``.
- Added ``algorithm.reversed`` - Added ``algorithm.reversed``
- Added ``uri.combine`` and ``uri.parseUri``. - Added ``uri.combine`` and ``uri.parseUri``.
- Some sockets procedures now support a ``SafeDisconn`` flag which causes - Some sockets procedures now support a ``SafeDisconn`` flag which causes
them to handle disconnection errors and not raise them. them to handle disconnection errors and not raise them.