evaluate - evaluate a function pointer

mixed evaluate(mixed f, ...);

If f is a function, f is called with the rest of the arguments.
Otherwise, f is returned.  evaluate(f, ...) is the same as (*f)(...).

 Tim Hollebeek  Beek@ZorkMUD, Lima Bean, IdeaExchange, and elsewhere
