Version 0.9.6 released
19 October 2014 Andreas Rumpf
Note: 0.9.6 is the last release of Nimrod. The language is being 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
spawnnow 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
- The symbol binding rules in generics changed:
foo.baris now considered for implicit early binding.
c2nimmoved into its own repository and is now a Babel package.
pas2nimmoved into its own repository and is now a Babel package.
system.$for floating point types now produces a human friendly string representation.
uri.TUrlas well as the
parseurlmodule are now deprecated in favour of the new
TUritype in the
destructorpragma has been deprecated. Use the
overridepragma instead. The destructor’s name has to be
lambdais not a keyword anymore.
- system.defined has been split into system.defined and system.declared.
You have to use
--symbolto declare new conditional symbols that can be set via
--threadanalysis:onis 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!
- Multi method dispatching performance has been improved by a factor of 10x for pathological cases.
- This version introduces the
deprecatedpragma statement that is used to handle the upcoming massive amount of symbol renames.
spawncan now wrap proc that has a return value. It then returns a data flow variable of the wrapped return type.
- Added module
- Added module
sequtils.distncthas been renamed to
- Some sockets procedures now support a
SafeDisconnflag which causes them to handle disconnection errors and not raise them.