Ответ 1
Возможно, отчасти потому, что вам не нужен литерал: вы всегда можете написать свой собственный :=>
в качестве типа инфиксного оператора, если хотите более сжатый синтаксис:
scala> type :=>[A, B] = PartialFunction[A, B]
defined type alias $colon$eq$greater
scala> val pf: Int :=> String = { case 5 => "five" }
pf: :=>[Int,String] = <function1>
scala> pf.isDefinedAt(0)
res0: Boolean = false
scala> pf.isDefinedAt(5)
res1: Boolean = true
Я не один из разработчиков языка Scala, так что это более или менее предположение о "почему?". Вы можете получить более качественные ответы в списке scala-debate
, что является более подходящим местом для вопросов, связанных с языковым дизайном.