Почему? Если, к примеру, у меня есть 2 транслятора. Один исполняет бизнес-дейсьвия, второй стоит граф исполнения и пытается его оптимизировать?
Ну хорошо, один свой ДСЛ вы можете считать метапрограммированием относительно второго своего интерпретатора.
Ни один из них не является метапрограммированием относительно scala.
Потому что ни один из них не оперирует конструктами языка scala как своими входными данными