Name: Anonymous 2013-08-03 5:07
consider: template <T> T f(T X) {return T.increment();}
if we delay compilation of f to runtime, then f can take any, even unknown beforehand type. I.e. a C++ function becomes equivalent to Lisp function, without sacrificing any efficiency or changing semantics, beside startup time. And the only requirement is inclusion of compiler into runtime.
if we delay compilation of f to runtime, then f can take any, even unknown beforehand type. I.e. a C++ function becomes equivalent to Lisp function, without sacrificing any efficiency or changing semantics, beside startup time. And the only requirement is inclusion of compiler into runtime.