scalaのライブラリなどの実装を眺めていると
たまに

(1 to 100).foldLeft(0)((i,j)=>i+j)

と書くところを

(1 to 100).foldLeft(0){case (i,j)=>i+j}

という風に書いてある事があります。
下のmatch式が何故 コンパイルエラーにならないのか。
また何故このように書くのかがさっぱり分かりません。