In computer science, function composition is an act or mechanism to combine simple functions to build more complicated ones. ... The ability to easily compose functions encourages factoring (breaking apart) functions for maintainability and code reuse. More generally, big systems might be built by composing whole programs.