A combinator is a higher-order function that uses only function application and earlier defined combinators to define a result from its arguments.