@Araq thanks for the response and reasoning. I think what you suggest may hold true for C projects, but what about C++? I admit I should have made my demonstration in C++ because that's actually the situation I'm more curious about, but I made C more out of habit for simplicity.
Yes you're right, I would imagine `main()` would be the first candidate for Nim conversion. The demo is just to show a minimal step to begin that process, where Nim is now the toolchain and conversion can happen as the authors see fit or have resources to do so. The situation I've been in multiple times and hear some companies talk about is when we have a large modern-ish C++ source code and cannot allocated the 2-9 months it would take to rewrite everything from scratch all at once, especially as the original code is evolving. More attractive is to rework the compilation toolchain and automated build steps in an hour, then tell everyone in the different teams that they need to use Nim now, and not to worry because under the hood it's still the original code. We then replace functions and other pieces as new features and maintenance is required, thereby slowly converting everything to pure Nim. One big benefit of this is that it becomes easier to A/B test unconverted/converted code (including `main()` itself!). Thoughts?
