  A new categorical framework is provided for dealing with multiple argumentsin a programming language with effects, for example in a language withimperative features. Like related frameworks (Monads, Arrows, Freydcategories), we distinguish two kinds of functions. In addition, we alsodistinguish two kinds of equations. Then, we are able to define a kind ofproduct, that generalizes the usual categorical product. This yields a powerfultool for deriving many results about languages with effects.
Like related frameworks (Monads, Arrows, Freyd categories), we distinguish two kinds of functions. In addition, we also distinguish two kinds of equations. Then, we are able to define a kind of product, that generalizes the usual categorical product.