SRFI1 Constructorsを眺めたぞ。
srfi1のリストを生成するやつら。
以下は、てきとーにドキュメント眺めてまとめたもの。
cons,list,make-list,list-copyらはr7rsに含まれているので無視する。
xcons
第二引数をcar部に、第一引数をcdr部にconsセルを生成する。
例
(xcons 1 2) ;(2 . 1)
cons*
引数の最後が末尾cdr部になるリストを生成する。
(cons* a1 a2 … an-1 an) => (a1 a2 … an-1 . an)
例
(cons* 1 2 3 4) ;(1 2 3 . 4)
list-tabulate
0〜n-1のそれぞれに、初期化関数を適用したリストを返す。
例
(list-tabulate 5 (lambda (n) (* n n ) ) ) ;(0 1 4 9 16)
circular-list
与えた引数を繰り返す循環リストを生成する。
例
(circular-list 1 2 3 4) ;#0=(1 2 3 4 . #0#)
iota
個数、初期値、増加値を指定して、数値のリストを生成する。
例(個数5 初期値 0 増加値 1の場合)
(iota 5 0 1) (0 1 2 3 4)