TL;DR
- Clojure は、リスト、ベクタ、マップ、集合から Java のコレクション、正規表現、ファイル、XML まで、あらゆるデータ構造をシーケンスという単一の抽象で扱う。
- シーカブルなデータなら何でも扱えるシーケンスライブラリが、命令型言語でループが必要な場面の多くを置き換える。シーケンスの多くは遅延評価され、不変である。
- 性能が必要な場面のために、リスト、ベクタ、マップ、集合に特化した関数も用意されている。
内容
Clojure はプログラムに何度も現れるデータ構造をシーケンスという単一の抽象で扱う。この章では、シーカブルなコレクションと、それらを扱うシーケンスライブラリを見ていく。各節のまとめは次のページにある。
- Programming Clojure, Third Edition 第3章 シーケンスとシーカブル
- Programming Clojure, Third Edition 第3章 すべてはシーケンスである
- Programming Clojure, Third Edition 第3章 シーケンスライブラリを活用する
- Programming Clojure, Third Edition 第3章 遅延シーケンスと無限シーケンス
- Programming Clojure, Third Edition 第3章 Java をシーカブルとして扱う
- Programming Clojure, Third Edition 第3章 特定の構造に特化した関数