Kiefer's stuff is very well cited, but many of the citations are kind of specious - he has a history of citing studies that, upon perusal, are unrelated or contradictory to what he claims.
def foo(bar)
if block_given?
yield bar
end
end
foo 5 { |x| puts x } # prints 5
Python: def foo(bar,fcn):
fcn(bar)
foo(5, lambda x: sys.stdout.write("%d\n" % x))
The only real difference being that the ruby code is calling a block versus a "real" function.