3 つの引数を取り、それらすべてを 2 倍にしたリストを返すプロシージャ foo があるとします。
(define (foo a b c)
(list (* 2 a ) (* 2 b) (* 2 c)))
私ができるようにしたいのは、次のように、リストを受け入れ、リスト要素を引数として使用して foo を呼び出す別のプロシージャを作成することです。
(define (fooInterface myList)
...)
(fooInterface (list 1 2 3))
キャッチは、fooが常に3つの引数を持つと仮定して、fooInterfaceを書きたくないということです。つまり、foo に追加の引数を追加しても、渡されたリストに 3 つの要素があれば、fooInterface は引き続き機能するはずです。