A functor is I think just a first-class function, either named or anonymous, e.g. a (lambda (...) ...)
Here's the mathematical definition of functor, and I'll be disappointed if David R can't rope this in to what he's doing:
A Category is a gadget that has both objects and morphism between objects. We require that there there be an identity morphism 1_X between any object X and itself, and given two morphisms alpha: X ---> Y and beta: Y ---> Z, there is a composition beta * alpha : X ---> Z and this composition must be associative, i.e. gamma * (beta * alpha) = (gamma * beta) * alpha
A functor F: C ---> D is a map between 2 categories C & D preserving the structure. So for ever object X in C, we have an object F(X) in D, and for every morphism alpha: X ---> Y in C, we have a morphism F(alpha): F(X) ---> F(Y) in D and we require that F(1_X) = 1_F(X) and F(beta * alpha) = F(beta) * F(alpha)
I called a category a gadget because we don't insist that Ob(C), the collection of objects of C, form a set. If it does, then we call C a small category. One often considers large categories, such as the category of sets, morphisms being functions between sets. We do insist that the morphisms between 2 objects, written Hom_C(X, Y), is a set. If it's not a set, it means it's "too big".
Now I've heard that category theory has become popular (if not actually useful :)) in Computer Science.