But it is naive to think that not using it is an easier path towards a solution.
Yao is already fully designed. And while I haven't updated its example file [1] to include everything, it would only be a max of two or three times bigger.
This includes generics, an equivalent to Zig comptime, something like traits but more powerful, a solution to the expression problem, etc.
The solution is structured concurrency.
The only reason I am not working more on Yao is because I worked on it for three years at full tilt (because I constantly refactor to eliminate tech debt), and I am burned out.
But adding a new feature takes only about two hours max; I just add a new client-defined keyword.
[1]: https://git.yzena.com/Yzena/Yc/src/branch/master/src/yao/exa...
Its syntax is inspired by Ada, and as far as I know the designer has no PhD in type theory, so it matches the requirements put forth by the other commenters too.
- It was made to be approachable for C++ experts
- The idea was that language could be effortlessly greppable.