  Dependency analysis is vital to several applications in computer science. It
lies at the essence of secure information flow analysis, binding-time analysis,
etc. Various calculi have been proposed in the literature for analysing
individual dependencies. Abadi et. al., by extending Moggi's monadic
metalanguage, unified several of these calculi into the Dependency Core
Calculus (DCC). DCC has served as a foundational framework for dependency
analysis for the last two decades. However, in spite of its success, DCC has
its limitations. First, the monadic bind rule of the calculus is nonstandard
and relies upon an auxiliary protection judgement. Second, being of a monadic
nature, the calculus cannot capture dependency analyses that possess a
comonadic nature, for example, the binding-time calculus, $\lambda^{\circ}$, of
Davies. In this paper, we address these limitations by designing an alternative
dependency calculus that is inspired by standard ideas from category theory.
Our calculus is both monadic and comonadic in nature and subsumes both DCC and
$\lambda^{\circ}$. Our construction explains the nonstandard bind rule and the
protection judgement of DCC in terms of standard categorical concepts. It also
leads to a novel technique for proving correctness of dependency analysis. We
use this technique to present alternative proofs of correctness for DCC and
$\lambda^{\circ}$.
