Hi Jim,

the Y combinator was fun, indeed.

Here is a two-argument version, as proposed by pixel in 
http://lambda.weblogs.com/discuss/msgReader$838#842

p proc { |f,x| f[f,x] } [ proc { |f,n| n>1 ? n * f[f,n-1] : 1 }, 5 ]

Your's is more readable, though :)

Pit