関数型プログラミングの基礎
JavaScriptを使って学ぶ
JavaScriptを使って学ぶ
関数型プログラミングは、従来はScalaなど一部の開発言語でしか利用されていなかった特殊な技法でした。ところが近年では、iOS開発言語であるSwift、あるいは次期Android開発言語と目されているKotlin(コトリン)など新しい開発言語を使う上では、必須の技法となってきています。本書は、この「古くからあったけど、なかなか理解できなかった技法」関数型プログラミングを、その基本的な考え方から応用まで丁寧に紐解きました。
本書は、何らかのプログラミング経験のある読者を想定しています。JavaScript で簡単なプログラムを書いたことがある人ならば、問題なく読み進めることができるでしょう。またJavaScript を知らなくても、他の言語を使ったことのある人であれば、読み進めていくうちに本書で紹介したコードは理解できるでしょう。
是非、本書を契機に新しいプログラミング手法を身につけてください。
内容詳細
■著者プロフィール |
第Ⅰ部 関数型プログラミングの基礎 |
第1章 「計算」とは |
1.1 「計算」のモデル 1.2 命令型モデル 1.3 関数型モデル |
第2章 なぜ関数型プログラミングが重要か |
2.1 プログラミング言語における関数の特徴 2.2 関数型プログラミングの特徴 2.3 関数型プログラミングの利点 |
第Ⅱ部 JavaScriptによる関数型プログラミングの実践 |
第3章 心の準備 |
3.1 DRY原則 3.2 抽象化への指向 3.3 セマンティクスを意識する 3.4 テストに親しむ 3.5 JavaScriptと関数型プログラミング |
第4章 データの種類と特徴 |
4.1 型とは何か 4.2 基本型 4.3 合成型 4.4 変数とデータの関係 4.5 参照透過性の仕組み |
第5章 プログラムをコントロールする仕組み |
5.1 条件分岐の種類と特徴 5.2 反復処理の種類と特徴 5.3 再帰による反復処理 |
第6章 関数を利用する |
6.1 関数の基本 6.2 関数と参照透過性 |
第7章 高階関数を活用する |
7.1 高階関数とは何か 7.2 カリー化で関数を返す 7.3 コンビネータで関数を組み合わせる 7.4 クロージャーを使う 7.5 関数を渡す 7.6 モナドを作る |
第8章 関数型言語を作る |
8.1 プログラミング言語の仕組み 8.2 抽象構文木を作る 8.3 環境を作る 8.4 評価器を作る |
第Ⅲ部 付録 |
第9章 JavaScript環境を準備する |
9.1 実行環境を準備する 9.2 テスト環境を準備する |