出版社内容情報
コードで学ぶ、プログラマーのための圏論入門
〈本書のポイント〉
・C++とHaskellのコードを使って、圏論の概念を解説した
・数学書のような定理⇒証明の繰り返しではなく、プログラマーの慣れている技術書な解説とした
近年の並列・並行プログラミングにおける安全性確保では、共有可変状態に依存する設計の難しさが指摘されています。こうした課題への有力なアプローチの一つが関数型プログラミングであり、その背景として圏論(けんろん)が重要な役割を果たします。圏論は型理論やラムダ計算と並ぶ理論的基盤の一つです。
関心の高いプログラマーは、命令型言語に導入されたラムダ式などの関数型プログラミングのアプローチから関数型言語に興味をもったり、命令型と異なる関数型というパラダイムに対する関心をもったりするなかから関数型言語を学びます。そのなかの一部は、理論的背景となる圏論にも興味を持ちます.
しかし『ベーシック圏論』や『圏論の基礎』を前にして、数学的素養というハードルの高さを感じる読者も少なくありません。圏論は大学で学ぶような数学の一分野なのです。
本書は、数学書のような定理と証明の反復ではなく、プログラマーが親しみやすい技術書スタイルで圏論の核心を解説します。主要概念をC++とHaskellのコードで具体化し、Haskellについては未経験者にも配慮して段階的に説明します(ただし、C++の基礎文法の理解は前提とします)。
一般的な入門から、モナド/コモナド、カン拡張、豊穣圏、トポス、ローヴェア理論といった発展的話題まで、段階的に橋渡しします。これにより、関数型プログラミングの理解を深め、日々の設計・実装に新たな視点をもたらすことを目指します。
圏論に関心はあるものの数学的背景に不安がある方、関数型の理解を理論面から補強したいプログラマーに適した一冊です。
【目次】
目次
第1部(圏:合成の本質;型と関数;圏のさまざま ほか)
第2部(宣言的プログラミング;極限と余極限;自由モノイド ほか)
第3部(射こそすべて;随伴;自由/忘却随伴 ほか)
著者等紹介
Milewski,Bartosz[MILEWSKI,BARTOSZ] [Milewski,Bartosz]
ポーランドで教育を受け、理論物理学の博士号を取得。ヨーロッパやアメリカでいくつかのポスドク職を経験したあと、なぜかMicrosoftで検索エンジンの設計・実装をすることになった。しかし当時のMicrosoftはインターネットを本気で受け止めておらず、あまりうまくいかなかった。退職して自分の小さな会社Reliable Softwareを立ち上げ、世界初の分散バージョン管理システム〔Code Co‐op〕を作った(現在はパブリックドメインになっている)
北川雅裕[キタガワマサヒロ]
2007年に名古屋大学大学院 理学研究科 素粒子宇宙物理学専攻 博士前期課程を修了(理学修士)。その後は医療機器メーカーで光学設計とソフトウェア開発に従事。また、2010年頃からオープンソースソフトウェアの日本語化や写真編集アプリLightZoneの開発にも携っている。関数プログラミングはJava 8に取り入れられたのを機に触れ、そこから他の言語や圏論にも興味を持ち始めた。徳島県生まれ香川県育ち
松田一孝[マツダカズタカ]
東北大学大学院情報学研究科准教授。2009年に東京大学より博士(情報理工学)を取得。プログラミング言語理論、特に関数プログラミングおよび領域特化言語を専門とする。現在の主要研究キーワードは、双方向変換(本書でも触れられているレンズなど)や可逆計算など。理論に基づくプログラム・ソフトウェアの構成法や、その理論自身に興味を持つ。圏論に興味を持ったのはHaskellのモナドが切っ掛け。愛媛県出身(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。



