出版社より
Functional programming is rooted in lambda calculus, which constitutes the world’s smallest programming language. This well-respected text offers an accessible introduction to functional programming concepts and techniques for students of mathematics and computer science. The treatment is as nontechnical as possible, and it assumes no prior knowledge of mathematics or functional programming. Cogent examples illuminate the central ideas, and numerous exercises appear throughout the text, offering reinforcement of key concepts. All problems feature complete solutions.
DeepL粗訳
関数型プログラミングは、世界最小のプログラミング言語を構成するラムダ微積分に基づいています。この評判の高いテキストは,数学やコンピュータサイエンスを学ぶ学生に,関数型プログラミングの概念やテクニックをわかりやすく紹介しています.また、数学や関数型プログラミングの予備知識を前提としていないため、技術的な知識を必要としません。説得力のある例題が中心的なアイデアを照らし出し,テキスト全体に多数の演習問題が登場し,重要な概念を補強しています.すべての問題には完全な解答が含まれています.
関数型言語の理論的な基盤の一つであるラムダ計算を用いて、実際に関数型言語的な計算体系をステップ・バイ・ステップで作り上げる本です。 ラムダ計算は(プログラマー的な視点で言えば)変数、関数、適用の三要素を基にした計算体系と言っていいのではないかと思いますが、 この3つの道具だけを使って、真偽・数値・文字といった基本的なデータ型、実用的な変数・関数といった機能を組み上げていくというのが本書の内容です。
表題にはIntroductionとありますが、パラダイムの入門書的な内容はあまり期待できません。 関数型言語が、少なくとも理論的にはどういうモデルの上に立っているかが観察できるところが興味深い本です。
静的型付き言語界隈の精神的・物理的鈍器として紹介されることの多い 型システム入門 という書籍がありますが、本書を読んでから挑戦してみると面白いかも知れません。 というのもラムダ計算を基に関数型言語を構築していくというこの本の主題である要素を、型システム入門でも理論的な解説を踏まえながら追っていくからです。 ただ、本書の方がコードでの解説によりフォーカスしており、「まず動かしてみて学ぶ」というような学び方には合っていると思います。