プログラマのための圏論の基礎

- Categories for the Working Programmer -

この記事は、プログラマに向けた圏論の入門記事です。通常の圏論の教科書より解説を多く、プログラマにとって必要ない概念を削って書いています。圏論とは何かから始まり、アルゴリズム設計、プログラム意味論および Haskell の free-operational パッケージと圏論との関連について解説していきます。

前提知識として必須ではありませんが、何かしらの関数型言語に慣れ親しんでいると読みやすいと思います。本記事では Haskell に特化した話題を出すこともありますが、多くは Haskell の知識がなくても大丈夫です。

  1. 圏論とプログラミング、プロダクト (公開 2013/09/03)
  2. 圏と関手とその例
  3. フュージョンとアルゴリズム設計
  4. 始代数とフュージョン
  5. いろいろな随伴
  6. 型付きラムダ計算とデカルト閉圏
  7. モナドとプログラム意味論
  8. Free モナドと Operational モナド
  9. 米田の補題と Operational モナド

このチュートリアルでは、MathJaxXyJaxを利用しています。

ハート

著者のこと:

プログラミング Coq に続いて今回は圏論の入門記事を書くことになりました、池渕未来(いけぶち みらい)です。IIJ-II のバイトとして、山本和彦先生のもとでこの記事を書いています。プログラミング Coq 執筆時から二年経って、学部三年生になりました。

@m_ike_neko というアカウントで Twitter やってます。感想やコメントは、twitter で #プログラマのための圏論 というハッシュタグとともに、つぶやいていただくようお願いします。