圏論とプログラミング
圏論とプログラミングの対応を一覧する
詳細は「まとめ」の欄に記す
基本的な圏の対応
table:基本的な圏の概念の対応
圏論 プログラム まとめ
圏 Hask圏 Hask圏
対象 kindが*な型
関手 Functor型クラス 関手とFunctor
自然変換 パラメトリック多相 Hask圏における自然変換
GADTなども圏論的に見ることができるんだろうか #??
圏の対応
table:圏の対応
圏論 プログラミング まとめ
部分圏 型クラス
関手の対応
table:関手の対応
圏論 プログラミング まとめ
Hom関手 関数型(->) Hom関手と関数型(->)
表現可能関手 Representable型クラス
関数の対応
table:関数の対応
圏論 プログラミング まとめ
射 関数
合成 Haskellの関数合成
関数適用 冪 冪と関数適用
カリー化 カリー化
アンカリー化 アンカリー化
米田の補題 継続
随伴 随伴.hs
CCC 高階関数型プログラム、ラムダ計算 型付きラムダ計算とCCCと直観主義論理
https://bartoszmilewski.com/2014/11/04/category-the-essence-of-composition/
https://bartoszmilewski.com/2014/11/24/types-and-functions/
https://bartoszmilewski.com/2015/03/13/function-types/
https://bartoszmilewski.com/2015/04/15/category-theory-and-declarative-programming/
https://bartoszmilewski.com/2015/11/17/its-all-about-morphisms/
米田の補題とhaskell
https://bartoszmilewski.com/2015/09/01/the-yoneda-lemma/
https://bartoszmilewski.com/2015/10/28/yoneda-embedding/
米田埋め込み
直積と余積とhs
直積
タプル
https://www.slideshare.net/KinebuchiTomo/haskell-63665717
余積
Either
https://www.slideshare.net/KinebuchiTomo/haskell-63665717
https://bartoszmilewski.com/2015/01/07/products-and-coproducts/
極限とhs
https://bartoszmilewski.com/2015/04/15/limits-and-colimits/
データ型周辺の対応
table:データ型周辺の対応
圏論 プログラミング まとめ
自由モノイド 文字列 自由モノイドと文字列
Catamorphism fold 代数的データ型とF-代数
Anamorphism unfold 代数的データ型とF-代数
F-始代数 有限データ構造 代数的データ型とF-代数
F-終余代数 無限のデータ構造 代数的データ型とF-代数
関手の始代数、終代数、双代数 代数的データ型 ←わからん
モナドの対応
Computational lambda-calculus and monads
table:モナドの対応
圏論 プログラミング まとめ
モナド、Kleisli Triple Monad型クラス モナドとKleisli TripleとMonad型クラス
Stateモナド Stateモナドを圏論的観点から見る
継続モナド 継続モナドを圏論的観点から見る
IOモナド IOモナドを圏論的観点から見る
Listモナド Listモナドを圏論的観点から見る
Maybeモナド Maybeモナドを圏論的観点から見る
Errorモナド Errorモナドを圏論的観点から見る
コモナド ストリーム処理
プログラミングとモナドの初期の歴史
https://lemniscus.hatenablog.com/entry/20170707/1499399551
table:https://www.jstage.jst.go.jp/article/jssst/8/1/8_1_34/_pdf/-char/ja
型付きラムダ計算 直観主義論理 CCC
型 命題 対象
λ項 証明 射
「型付きラムダ計算」はラムダ計算に型を付けて拡張したもの
この拡張の仕方は無数にある
この数と同じだけ対応するCCCが存在する
http://imetrics.co.jp/academy/RelevantTheories.pdf
http://www.fos.kuis.kyoto-u.ac.jp/~yfukuda/file/cm_of_mell.pdf
依存型
https://ncatlab.org/nlab/show/categorical+model+of+dependent+types
https://arxiv.org/abs/1704.04747
圏論以外の対応
Curry-Howard同型対応
参考
プログラミング言語の意味論と圏論∗ p.8
圏論とSwiftへの応用 / iOSDC Japan 2018 - Speaker Deck
参考文献も
書籍
横内『プログラム意味論』
『圏論の歩き方』
#WIP
table:雑な対応
圏論 プログラム まとめ
有限直積を持つ圏上の不動点演算子 再帰プログラム、不動点、fix
全称量化子∀ パラメトリック多相、Generics
存在量化子∃ SwiftのProtocol
有限直積を持つ圏 一階関数型プログラム
有限直積を持つ圏上の強モナド 副作用を伴うプログラム
局所カルテジアン閉圏 依存型
モノイダル圏 線形型
トレース付きモノイダル圏 相互作用の幾何
型クラスと圏論の対応はないのか?
論理学
https://speakerdeck.com/inamiy/swift-programming-and-logic
https://speakerdeck.com/inamiy/swift-and-logic-and-category-theory
https://techblog.asahi-net.co.jp/entry/2019/10/31/125852
圏論all
http://eed3si9n.com/herding-cats/ja/index.html
https://qiita.com/inamiy/items/9af1da1faec22cd968f0
https://github.com/shiatsumat/wiwinwlh-jp/blob/master/mds/圏.md
http://bitterharvest.hatenablog.com/archive/category/プログラマーのための圏論%20(初級編:圏論とHaskell)
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
動画、スライド
https://qiita.com/tags/圏論?page=1
https://m-hiyama.hatenablog.com/entry/2019/04/22/104448
https://ja.wikibooks.org/wiki/Haskell/圏論
https://qiita.com/norkron/items/237735106ee6e5333678
http://bitterharvest.hatenablog.com/archive/category/Haskellで学ぶ圏論・入門編
http://www.kurims.kyoto-u.ac.jp/~kenkyubu/kokai-koza/H28-hasegawa.pdf
Category Theory Applied to Functional Programming PDF
Synthetic topology of data types and classical spaces pdf
『圏論によるプログラミングと論理』
http://modegramming.blogspot.com/2014/07/2014.html
http://modegramming.blogspot.com/2015/09/2015.html
https://ris.utwente.nl/ws/portalfiles/portal/5126345/00000154.pdf
Haskellと圏論って感じの資料
https://www.yumpu.com/ro/document/read/11416939/-/37
https://wiki.haskell.org/Typeclassopedia
https://www.youtube.com/playlist?list=PLVFrD1dmDdvcjCQDPhExqP56jqxp0Ssn_
モノイド
https://blog.miz-ar.info/2019/02/monoid-for-haskellers/
https://qiita.com/norkron/items/237735106ee6e5333678
frontend
https://jaysoo.ca/2017/04/30/learn-fp-with-react-part-1/
https://medium.com/javascript-scene/functors-categories-61e031bac53f
https://aaltodoc.aalto.fi/bitstream/handle/123456789/31495/master_Vilja_Peter_2018.pdf?sequence=1&isAllowed=y
https://dev.to/ybogomolov/typesafe-frontend-development-4lbj
http://danshiebler.com/2018-11-10-category-solutions/
プログラム意味論
https://m-hiyama.hatenablog.com/entry/20171116/1510803621
Rust
https://qiita.com/j5ik2o/items/aef1b057c0910d35ed14
http://ironoir.hatenablog.com/entry/2018/08/24/130228
OOP
http://marcosh.github.io/post/2017/01/20/categorical-comparison.html
http://www.cs.toronto.edu/~zdiskin/Pubs/KluwerBook-2003.pdf
http://elementsofprogramming.com/book.html
https://reperiendi.wordpress.com/2007/11/03/category-theory-for-the-java-programmer/
https://jscategory.wordpress.com/
https://hsm.stackexchange.com/questions/630/was-object-oriented-programming-influenced-by-the-mathematical-category-theory
https://dev.to/kspeakman/category-theory-is-object-oriented-3l8k
アーキテクチャ
DDD
https://medium.com/@gregberns/modeling-systems-with-category-theory-like-in-domain-driven-design-5326ce6056cb
その他
https://qiita.com/cympfh/items/e8c2669c646a73205ea9
機械学習
https://speakerdeck.com/inamiy/swiftdegao-kaindoduo-xiang
高階多相型
未分類(あとで分ける)