Interesting article on "Higher Order Messages" here - what's HOM?
A higher order message is a message that takes another message as an "argument". It defines how that message is forwarded on to one or more objects and how the responses are collated and returned to the sender. They fit well with collections; a single higher order message can perform a query or update of all the objects in a collection.
Nat Pryce goes on to give an example in Ruby. The frothing reference? Here it is:
The higher order messaging version does have messy dots between messages, but unfortunately that's an aspect of Ruby we can't change. At the risk of sounding like a frothing evangelist, I have to admit that the code would be neater in Smalltalk
And he gives a Smalltalk example. The interesting thing is, Michael did some HOM work in VisualWorks a couple years back - I can't find any posts from him about it, but you can load the HigherOrderMessaging package from the public store.
I just like the idea of being a frothing evangelist :) Maybe I'll bring some Alka-Seltzer to my next speaking engagement so that I can really play that up :)