  Cartesian differential categories are categories equipped with a differential
combinator which axiomatizes the directional derivative. Important models of
Cartesian differential categories include classical differential calculus of
smooth functions and categorical models of the differential $\lambda$-calculus.
However, Cartesian differential categories cannot account for other interesting
notions of differentiation of a more discrete nature such as the calculus of
finite differences. On the other hand, change action models have been shown to
capture these examples as well as more "exotic" examples of differentiation.
But change action models are very general and do not share the nice properties
of Cartesian differential categories. In this paper, we introduce Cartesian
difference categories as a bridge between Cartesian differential categories and
change action models. We show that every Cartesian differential category is a
Cartesian difference category, and how certain well-behaved change action
models are Cartesian difference categories. In particular, Cartesian difference
categories model both the differential calculus of smooth functions and the
calculus of finite differences. Furthermore, every Cartesian difference
category comes equipped with a tangent bundle monad whose Kleisli category is
again a Cartesian difference category.
