I heard André Pang at NSConference talking about how blocks were going to be introduced with the next version of Objective-C.
This should allow functional programming.
Edit: Since Snow Leopard has been released, this is indeed the case. Objective-C now has Blocks.