これに触発されて、Scala でタイプ セーフな文字列補間を (おそらくマクロを使用して) 行えるかどうか疑問に思っていました。
たとえば、私はこのようなものが欲しい
def a[A] = ???
val greetFormat = f"Hi! My name is ${a[String]}. I am ${a[Int]} years old"
greetFormat.format("Rick", 27) // compiles
//greetFormat.format("Rick", false) // does not compile
//greetFormat.format(27, "Rick") // does not compile
//greetFormat.format("Rick", 27, false) // does not compile
//greetFormat.format("Rick") // does not compile or is curried?