I generally find Nim's documentation ok, so it is not my top priority. That 
said, the areas that are not well-documented are:

  * the various modes of GC: which one are available? how do they differ? which 
external requirements do they have - bohem, go libs etc. Especially, it is not 
clear how the Nim **language** is affected by changing GC, e.g.: with Bohem 
there is a single heap, what this implies for multithreading? Some constructs 
require the Go GC, what happens with different GCs? What if you call 
GF_ref/unref with mark and sweep? What about compiling to JS? If we use 
regions, what happens with constructs that are not amenable to escape analysis?
  * Multithreading, especially parallel. For all I can tell, parallel simply 
does not work. spawn works, but it relies on a threadpool which is easy to 
deadlock when using channels. Channels are advertised only for use with bare 
threads, but then when using spawn there is no form of communication. 
Basically, the threading model is not clear.
  * How to integrate Nimscript in Nim applications


Reply via email to