>>907
あれは関数型プログラミングとは言えないと思う。
単なるSmalltalkへの回帰じゃん。

( 1 to: 10 ) select: [ :each | 5 < each ].
これと同じ。

関数型って言うなら

numberFor := [ :value | [ value value. ] ].
zero := numberFor value: 0 asValue.
one := numberFor value: 1 asValue.
two := numberFor value: 2 asValue.
array := [ :index | ( { zero. one. two} at: index value ) ].
array value: zero.
array value: one.
array value: two.

こんな感じで配列だろうが値だろうが全部関数として扱えなきゃ、
関数型Programingと言えないだろ。