Вираз mixin
приймає довільний рядок, компілює його і генерує
відповідні інструкції. Це механізм часу компіляції, який може
працювати виключно з рядками, доступних під час компіляції. Саме тому
порівняння зі злим JavaScript eval
було б вкрай несправедливим.
mixin("int b = 5");
assert(b == 5); // добре компілюється
mixin
також працює з рядками, які будуються динамічно, допоки потрібна
інформація не залежить від значень часу виконання.
mixin
разом з ОФЧК (CTFE) з наступного розділу дозволяє писати
вражаючі бібліотеки, такі як Pegged,
які генерують програму граматичного аналізу на основі граматики,
визначеної, як рядок у вихідному коді.