プログラマーのための圏論
https://gyazo.com/6ecf58e5740aba91bef9e19534c89fe3
〈本書のポイント〉
・数学書のような 定理 ⇒ 証明 の繰り返しではなく、プログラマーの慣れている技術書な解説とした 近年の並列・並行 プログラミングにおける安全性確保では、共有可変状態に依存する設計の難しさが指摘されています。こうした課題への有力なアプローチの一つが関数型プログラミングであり、その背景として圏論(けんろん)が重要な役割を果たします。圏論は 型理論 や ラムダ計算 と並ぶ理論的基盤の一つです。 関心の高いプログラマーは、命令型言語 に導入された ラムダ式 などの 関数型プログラミング のアプローチから 関数型言語 に興味をもったり、命令型と異なる関数型という パラダイム に対する関心をもったりするなかから関数型言語を学びます。そのなかの一部は、理論的背景となる圏論にも興味を持ちます. しかし『ベーシック圏論』や『圏論の基礎』を前にして、数学的素養というハードルの高さを感じる読者も少なくありません。圏論は大学で学ぶような数学の一分野なのです。
本書は、数学書のような定理と証明の反復ではなく、プログラマーが親しみやすい技術書スタイルで圏論の核心を解説します。主要概念を C++ と Haskell のコードで具体化し、Haskellについては未経験者にも配慮して段階的に説明します(ただし、C++の基礎文法の理解は前提とします)。
圏論に関心はあるものの数学的背景に不安がある方、関数型の理解を理論面から補強したいプログラマーに適した一冊です。
目次