PS

Scala category

Scala category

 \mathcal{Hask} と同じような感じで、scala category*1:

  •  \mathcal{Scala}

を次のようにして定義できる:

  •  \mathcal{Scala} _ 0 = \lbrace A \mid A \text{ is a Scala type} \rbrace
  •  \mathcal{Scala} _ 1 = \lbrace f \mid f \text{ is a scala.Function} \rbrace
  •  \text{dom}(f:: A \Rightarrow B) = A
  •  \text{cod}(f:: A \Rightarrow B) = B
  •  g \circ f = g.\text{compose}(f)
  •  \text{id} _ A = (x : A) \Rightarrow x

scalazが想定していると思われるcategory*2。 厳密に分析するのは止めたほうがよさそう。

参考文献

*1:こういう用語があるのかは不明・・・

*2:標準ライブラリにもちょっと発見