はじめに もともと Lisp の概念だそうです. 私は Lisp にあまり詳しくないため概念だけ調べてみました. ゴール ガッツリとした実装はしません. 「ペアの関数を作って値を取り出す関数を作る」程度で留めます. なぜ元ネタ Lisp で書かないのか🙂 ことば Cons 2つの要素を持つペアを構成する関数を作ります construct. f(a, b) Car 先頭要素 head を返します. 今回はペアを扱うため 左 left の要素を返します. a Cdr 残りの要素 tail を返します. 今回はペアを扱うため 右 right の要素を返します. b Haskell の場合🙂 ペアの関数、第一要素を返す関数、第二要素を返す関数をそれぞれ:tで type を表示してみた結果です.

