この記事シリーズでは、プログラマもしくはライブラリ作者が独自のデータ構造を作成する際、それをClojureの組み込みデータ構造と同等に振る舞わせる方法について説明する。このPart 1では、Clojureの組み込みデータ構造がどのような抽象化とデザインの上に構築されているかを見てみよう。最後に、vector型と同じように振る舞うデータ型を定義してみる。 Part 0: 導入 Part 1: Collectionとは何か(ここ) Part 2: Sequenceとは何か Part 3: 独自Vector作成をマクロ化してみる おことわり: この記事は入門では無く、ClojureとJavaの知識をある程度仮定している。 末尾に示した参考文献を大いに参考にさせていただいた。 伝統的なLispにおけるデータ構造 伝統的なLispでは、基本となるデータ構造はListである。そもそもLispという名前
![Clojureにおけるデータ構造の抽象化を理解して独自のデータ構造を実装する Part 1: Collectionとは何か - 本当は怖いHPC](https://cdn-ak-scissors.b.st-hatena.com/image/square/852f76cff13e06ee837d2583da1563fc4b98c3a4/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkeisukefukuda%2F20150805%2F20150805212013.png)