I don't know if this is relevant to your question, but there is an example in programming semantics where the dual of a cartesian closed category has independent significance, due to Lafont, Streicher, Reus and Hofmann. (Some further work was done by Selinger.) It is found in the following paper: @Article{StreicherReus:continuations, title = "Classical logic, continutation semantics and abstract machines", author = "Th. Streicher and B. Reus", pages = "543--572", journal = "Journal of Functional Programming", month = nov, year = "1998", volume = "8", number = "6", } The construction is as follows. Let C be a distributive category, and let Ans (the "answer type") be an object in C, such that the exponential X -> Ans exists for each object X. Define two categories K and N as follows. Both have the same objects as C. In K, a morphism from X to Y is a C-morphism from X x (Y -> Ans) to Ans. In N, a morphism from X to Y is a C-morphism from (X -> Ans) x Y to Ans. Clearly these two categories are dual. Streicher and Reus' paper makes it clear that just as K can be used to interpret a typed call-by-value language with control effects (which was well-known), N can be used to interpret a typed call-by-name language with control effects. Like any call-by-name model, N is cartesian closed: the product of X and Y in N is given by X+Y the exponential from X to Y in N is given by (X -> Ans) x Y K is certainly an important category, but I wouldn't say that the fact that it has coexponentials is significant. Paul =========================================================================== Paul Blain Levy, Department of Computer Science, Queen Mary and Westfield College, LONDON E1 4NS http://www.dcs.qmw.ac.uk/~pbl/ ===========================================================================