In Ruby you can write methods that take methods as arguments and wrap them in different methods. But that is probably not what you are thinking - it is just a consequence of supporting closures and dynamic programming techniques.

Haskell has something closer to what you probably are thinking of. At least it is called a Functor there as well...

Cheers,
Ben