DConf 2014 Day 1 Talk 4: Inside the Regular Expressions in D by Dmitry Olshansky

Dicebot via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Jun 12 05:31:08 PDT 2014


On Thursday, 12 June 2014 at 10:40:56 UTC, Colin wrote:
> Maybe a change to the compiler to write any mixin'd string out 
> to a temporary file (along with some identifier information and 
> the line of code that generated it) and at the next compilation 
> time try reading it back from that file iff the line of code 
> that generated it hasnt changed?
>
> Then, there'd be no heavy work for the compiler to do, apart 
> from read that file in to a string.

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.


More information about the Digitalmars-d-announce mailing list