特集
[入門]関数プログラミング―質の高いコードをすばやく直感的に書ける!
近年,関数型言語が注目を集めています。小さな関数を使って大きな関数を組み立てるスタイルは,バグが入り込みにくくなったり,コードを直感的に書けたりなどたくさんのメリットがあります。しかし,命令型言語とは考え方が異なる部分が多く,「関数プログラミングは難しい」と感じる人も多いようです。本特集では,これから始める人,そしてこれまで学ぼうとして挫折した経験がある人のために,関数プログラミングを理解するポイントを丁寧に解説します。
- 第5章 パーサコンビネータ―小さなパーサを組み合わせて大きなパーサを作る
- コンビネータとは何か?
- CSVのパーサ
- パーサコンビネータParsecでCSVパーサを実装
- コンビネータライブラリの真価
- さらに勉強するには
2015年3月6日[初出:WEB+DB PRESS Vol.67(2012年2月24日発売)]
- 第4章 木構造とハッシュ―平衡二分探索木「赤黒木」で知る豊かなデータ型
- ハッシュを実現できる木構造
- 型の定義
- 赤黒木を実装しよう
2015年3月5日[初出:WEB+DB PRESS Vol.67(2012年2月24日発売)]
- 第3章 リストと文字列―最長重複文字列問題で知るリストプログラミング
- 永続データとしてのリスト
- 最長重複文字列問題
2015年3月4日[初出:WEB+DB PRESS Vol.67(2012年2月24日発売)]
- 第2章 関数プログラミングのパラダイム―命令プログラミングと何が違うのか
- 命令プログラミングと関数プログラミング
- パラダイムの違いがわかる例題
- 命令的なfor文による問題解決
- 関数的なMapReduceによる問題解決
- 繰り返しと再帰との関係
- 関数プログラミングの特徴:部品プログラミング
- 関数プログラミングの特徴:高いエラー検出率
2015年3月3日[初出:WEB+DB PRESS Vol.67(2012年2月24日発売)]
- 第1章 関数プログラミングは難しくない!―初めて学ぶ人にも,挫折した人にもきちんとわかる
- 筆者がわかるようになるまで
- 関数型言語とは何か
- これまでの知識が足枷(あしかせ)に
- 関数プログラミングの利点
- Haskellの環境整備
2015年3月2日[初出:WEB+DB PRESS Vol.67(2012年2月24日発売)]