I love this discussion and agree with most of what has been said. I am looking 
for the best way to help. @Libman 's proposal is extravagant but appealing.

I have a serious worry that's a little different from "documentation not good 
enough for Nim programmers to get started, be productive, etc." I am worried 
that until we have very solid "language spec" level explanations of Nim itself, 
we won't even know all the nooks and crannies of the de facto semantics of the 
implementation. Then, if we declare 1.0 while in that state, these nooks and 
crannies become guaranteed backward-compatible semantics of the language.

As an example to illustrate what I mean, the project I'm working on in Nim 
tends to push macros and compile-time code execution pretty hard. The current 
version of the Nim Manual just hazily sketches how macros and templates work 
and hazily refers here and there to the semantics and restrictions of 
compile-time execution. From [my testing so 
far](https://github.com/joy-prime/the-edge-of-Nim), the nooks and crannies of 
these semantics and restrictions seem far more intricate than what one would 
expect from that hazy material in the Manual. I don't even know whether my 
testing is exposing bugs or features, nor do I know what terminology we'd like 
to use for talking about the semantics. So it is hard for me to respond either 
by submitting bug reports or by contributing to documentation.

Reply via email to