Abstract. We propose a general categorical setting for modeling program composition in which the call-by-value and call-by-name disciplines fit as special cases. Other notions of composition arising in denotational semantics are captured in the same framework: our leading examples are nondeterministic call-by-need programs and nonstrict functions with side effects. Composition of such functions is treated in our framework with degree of abstraction that Moggi's categorical approach based on monads allows in the treatment of call-by-value programs. By virtue abstraction, interesting program equivalences can be validated axiomatically in mathematical models obtained by means of modular constructions.