Nim 1.0 releases with improved library, backward compatibility and more

0
892
2 min read

Yesterday, the team at Nim announced Nim version 1.0, a general-purpose, compiled programming language that focuses on efficiency, readability and flexibility.

Major changes in Nim 1.0

Backwards compatibility

  • The switch -d:nimBinaryStdFiles has been removed in this release and stdin/stdout/stderr are now the binary files again. 
  • In this release, the language definition and compiler are now stricter about gensym’ed symbols in hygienic templates. 

Changes made to library

  • The team has removed unicode.Rune16 in this release as the name ‘Rune16 ’ was wrong.
  • In Nim 1.0, encodings.getCurrentEncoding distinguishes between the OS’s encoding and console’s encoding. 
  • In this release, json.parseJsonFragments iterator can speedup JSON processing.
  • Oid usage has been enabled in hashtables.
  • std/monotimes module has been added that implements monotonic timestamps.

Compiler

  • In Nim 1.0, the Nim compiler warns about unused module imports. Users can use a top-level {.used.} pragma in the module that can be importable without giving a warning.
  • In this version, the Nim compiler nomore recompiles the Nim project via nim c -r if case no dependent Nim file is changed.

Users seem to be excited about this news and are appreciating the efforts taken by the team. A user commented on HackerNews, “Great! I love this language, so simple and powerful, so fast executables!” 

Another user commented, “I would have never thought to live long enough to see this happening! I started using Nim in 2014, but abandoned it after a few years, frustrated by the instability of the language and what I perceived as a lack of vision. (In 2014, release 1.0 was said to be “behind the corner”.) This release makes me eager to try it again. I remember that the language impressed me a lot: easy to learn, well-thought, and very fast to compile. Congratulations to the team!”

Other interesting news in programming

How Quarkus brings Java into the modern world of enterprise tech


LLVM 9 releases with official RISC-V target support, asm goto, Clang 9, and more

Twitter announces to test ‘Hide Replies’ feature in the US and Japan, after testing it in Canada