Scala часто використовується таким чином для створення DSL-файлів, мов, визначених для домену.
В основному це відбувається через те, що у Scala немає операторів, а синтаксис виклику методу Scala можна скоротити. Наприклад:
5 - об'єкт Integer. Для обчислення 5 плюс 7 ви могли написати
val ans = 5.add (7), за винятком того, що метод додавання насправді називається "+", тому ви б написали:
val ans = 5. + (7), але в Scala вам не потрібно включати "." у викликах методу або в дужках "()" навколо аргументів, щоб викликати метод + на об'єкті 5, ви б написали
val ans = 5 + 7, що ідеально працює, оскільки Scala не має операторів, які б втручалися у вашу розумну схему іменування методів. Тепер поширюйте цю ідею на власні класи та об’єкти, включаючи те, що ви можете "переосмислити" методи типу +, а також створити свої власні методи з іменем >>> або ::! або @ * @ або просто прості текстові імена, на кшталт фантазії.