Since we have a good survey , do you guys have a roadmap or plan for 1.0 now ?
TLDR; Hype us so we can drool.
I'm also curious. The todo.txt file doesn't get me that excited; IMO the exciting stuff has been moved to "not critical for 1.0" I guess the flurry of activity about concepts has subsided and now they're in limbo again.
Maybe that's as it should be; any feature that's exciting shouldn't be on the critical path at this stage. What would be exciting now is a fixed schedule for 1.0 and beyond.
What would it be necessary for you to have for 1.0? In my opinion, there is no feature missing for a version 1. With the current feature set the language is already the most powerful language I know, and I've used now over 20 programming languages. The more I learn about Nim the more exited I am about what the language already can. It's just here and there are little inconsistencies, and sometimes things that don't work should fail earlier. I don't really need concepts, even though concepts are a very nice to have feature, not having concepts doesn't prevent me from doing something.
The only thing that I would see as an improvement, would be if seq and string would be initialized by default to be empty instead of nil. I don't see the advantage that these types can be nil at all. So having to call newSeq, or even check for nil, just feels like an unnecessary burden.
Things that should be done are some clear barriers, when the programmer leaves the sable feature set.
It's just here and there are little inconsistencies, and sometimes things that don't work should fail earlier.
Yes, that's my sense too. There are some features that are redundant (e.g. named tuples) and some things don't work as expected, but overall, excellent, and a joy to program in.
I don't really need concepts, even though concepts are a very nice to have feature, not having concepts doesn't prevent me from doing something.
concepts are a feature that I expect will have the most impact on library writers, and that the later they get added, the less people will make use of them. That's why I'd rather wait until they're done than just stamp a version with 1.0, and why I'm anxious that they get done soon.
I haven't abandoned my concepts branch. Work is keeping me busy, but I'll be back working on it soon.
Even if 1.0 is released today, I'd still suggest that the branch is merged - quite a lot of advanced examples are already supported.
+1 to merging your branch, it is definitely in a better state than what is on the devel branch.
IMO, concepts are a clear improvement over "plain" generics (mostly in terms of error reporting) and would help adoption since it provides an answer to a common code-structuring question (e.g. what is the Nim equivalent for interfaces / protocols / ...)
This being said, I still think concepts should be clearly labelled as experimental for v1.0. People should expect some changes and leave it to individuals to make the decision whether using concepts is worth it for them. (Overall, I think it will affect library authors more than library users.)