lionelhill:
We need an OS where we can declare OS-level types and have programs return those.
So, when you install, say, a web browser, you'd declare a "BrowserReturnStatus" OS-level class.
You'd have declare the browser program (function) like:
BrowserReturnStatus mozilla( string URL );
And, of course, overload it for alternate command line options.
Then you'd be able to pass OS-level pointers to programs around, and have program templates, and program objects...
And you'd have those OS-level types that could have member programs, or inherit from other types, or you could have virtual member programs,
pure virtual member programs...
It'd be great.
[tt]$ Program* p = new browser<Mozilla,BrowserTraits<Mozilla> >
$ p->run( new URL<HTTP>( "
) )[/tt]