On Thursday, 12 June 2014 at 12:49:23 UTC, Timon Gehr wrote:
On 06/12/2014 02:31 PM, Dicebot wrote:
Compiler can cache return value of function that get called
from inside
mixin statement (for a given argument set). As CTFE is
implicitly pure
(no global state at compile-time) later generated code can be
simply
re-used for same argument set.
>
Re-using it between compiler invocations is more tricky
because it is
only legal if generator function and all stuff they indirectly
use have
not changed too. Ignoring this requirement can result in nasty
build
issues that are only fixed by clean build. Too harmful in my
opinion.
Clearly, nirvana is continuous compilation, where the compiler
performs explicit dependency management at the level of nodes
in the syntax tree.
Yeah I was wondering if we can merge some of rdmd functionality
into compiler to speed up rebuilds and do better dependency
tracking. But I am not sure it can fit nicely into current
frontend architecture.