Scala genellikle bu şekilde DSL'lere, Etki Alanına Özel Diller oluşturmak için kullanılır.
Bunun nedeni Scala'nın operatörleri olmaması ve sözdizimini çağıran Scala yönteminin kısaltılmasıdır. Örneğin:
5, bir Tamsayı nesnesidir. 5 artı 7 hesaplamak için yazabilirsiniz
val ans = 5.add (7) dışında, ekleme yöntemi aslında "+" olarak adlandırılır, böylece şunu yazarsınız:
val ans = 5. + (7) ancak Scala'da "." ifadesini eklemenize gerek yoktur. yöntem çağrıları veya argümanların etrafındaki "()" parantezlerinde, nesne 5 üzerindeki + yöntemini çağırmak için şunu yazarsınız:
val ans = 5 + 7, Scala'nın akıllı yöntem adlandırma düzeninize müdahale edecek hiçbir operatörü olmadığı için mükemmel çalışıyor. Şimdi bu fikri kendi sınıflarınıza ve nesnelerinize taşıyın, + gibi yöntemleri "geçersiz kılabilir" ve >>> veya :: adlı kendi yöntemlerinizi oluşturabilirsiniz! veya @ * @ veya yalnızca fancify gibi düz metin adları kullanabilirsiniz.