We give a categorical semantics to the call-by-name and call-by-value versions of Parigot's
λμ-calculus with disjunction types. We introduce the class of control categories, which
combine a cartesian-closed structure with a premonoidal structure in the sense of Power and
Robinson. We prove, via a categorical structure theorem, that the categorical semantics is
equivalent to a CPS semantics in the style of Hofmann and Streicher. We show that the
call-by-name λμ-calculus forms an internal language for control categories, and that the
call-by-value λμ-calculus forms an internal language for the dual co-control categories. As a
corollary, we obtain a syntactic duality result: there exist syntactic translations between
call-by-name and call-by-value that are mutually inverse and preserve the operational
semantics. This answers a question of Streicher and Reus.