On 2019-05-06 20:03, Robert M. Münch wrote:

What I want to avoid is that explicit init line in main(). So, the user should derive whatever make sense for the app, but main() is never touched by the user. main() should initialize the user's app code "automatically" and be part of the framework.

I strongly advice against the framework containing the "main" function. It just going to cause problems. Take a look at vibe.d, that initialize started with containing the "main" function and the user writing their code in a "shared static this". That's just ugly and there's no advantage. This caused problems with testing and various versions identifiers had to be enabled or disabled to get it to work properly.

Since this is a framework you might want to consider having a tool that generates a project and outputs the necessary scaffolding. The tool could output the "main" function. This is what Ruby on Rails does.

--
/Jacob Carlborg

Reply via email to