LoginSignup
14
14

More than 5 years have passed since last update.

Qiita内で圏論に言及するエントリのまとめ (2)

Posted at

前回の続きです。Qiita内の圏論エントリを読んでいきます。ストック数が多いものに着目しています。

復習 モナド

一部誤りがありますので、参照するときは注意が必要です。

a -> b の a の方を『ドメイン domain』、 b の方を『余ドメイン codomain』と呼ぼう。
ドメインと余ドメインを持っていて合成できるものを『射 morphism』、その全体を『圏 category』と呼ぶ。圏論は圏や射についての理論。

圏論の言葉を正しく使っています。

関数の圏の対象からコンテナ型の関数の圏の対象への関数 a -> f a は『対象関数 object function』、関数からコンテナ型の関数への写像 (a -> b) → (f a -> f b) は『射関数 mapping function』にあたる。関手はこの2つの関数から成り立っている。

対象関数についての記述が誤っています。 class Functor f where ...f が対象関数です。

代数的データ型の「代数」 is 何

正しいことが書かれているエントリです。

ならば(NatF(Int), l)と(NatF(String), v)はNatF-代数です.

挙げられている例は適切です。厳密に言えば instance Functor NatF が必要だったり (Int, l) の組がNatF-代数だったりしますがとるに足らぬことでしょう。

((List a), cons)が始代数であることが示せました.

示している内容も話の流れも適切であると感じました。

Contravariant なんて要らんかったんや!

正しいエントリかと思います。

Bifunctor も直積圏を定義すれば Functor に収容できるけど、newtype とか型注釈とか乱れ飛んでウザい。

同意します。

綱渡りと Category (と,Kleisli)

正しい内容が書かれたエントリかと思います。

Kleisli m が「本当に」 Category のインスタンスであるためには,Category 則を満たす必要があります.

確認している内容も適切です。

14
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14