There is no roadmap document but what it could become beyond V1 is debated in 
the RFCs repo: 
[https://github.com/nim-lang/RFCs](https://github.com/nim-lang/RFCs).

The big items for V1 are:

  * tagged in 
[https://github.com/nim-lang/Nim/milestone/2](https://github.com/nim-lang/Nim/milestone/2),
 especially make async and threads compatible (due to conflicting proc name and 
signature)
  * destructors: 
[https://github.com/nim-lang/Nim/wiki/Destructors](https://github.com/nim-lang/Nim/wiki/Destructors)
  * Incremental compilation: 
[https://github.com/nim-lang/RFCs/issues/46](https://github.com/nim-lang/RFCs/issues/46)



For future Nim version 2, the big things I see are:

  * borrow checking with owned refs (i.e. the `--newruntime`) 
[https://github.com/nim-lang/RFCs/issues/144](https://github.com/nim-lang/RFCs/issues/144)
  * GC-free standard library thanks to GC-free base types

GC will still be available for user types.

  * Standard library much more multithreading friendly
  * Standard library much more embedded device friendly
  * concepts with dynamic dispatch via VTable see
    * 
[https://nim-lang.org/docs/manual_experimental.html#concepts](https://nim-lang.org/docs/manual_experimental.html#concepts)
    * Commented out [VTable 
section](https://raw.githubusercontent.com/nim-lang/Nim/de1ede77fe91170269d5bf54a01e61ff95f6dc56/doc/manual_experimental.rst)

This probably will imply a refactoring of methods, which started with putting 
multimethods behind a pragma.

  * better hot-code reloading see 
[https://github.com/nim-lang/Nim/pull/11742](https://github.com/nim-lang/Nim/pull/11742).
 This will allow to build REPL, jupyter kernel and plugins
  * compiler plugins


Reply via email to