  In this paper, we give an overview of some recent work on applying tools from
category theory in finite model theory, descriptive complexity, constraint
satisfaction, and combinatorics. The motivations for this work come from
Computer Science, but there may also be something of interest for model
theorists and other logicians.
  The basic setting involves studying the category of relational structures via
a resource-indexed family of adjunctions with some process category - which
unfolds relational structures into treelike forms, allowing natural resource
parameters to be assigned to these unfoldings. One basic instance of this
scheme allows us to recover, in a purely structural, syntax-free way: the
Ehrenfeucht-Fraisse~game; the quantifier rank fragments of first-order logic;
the equivalences on structures induced by (i) the quantifier rank fragments,
(ii) the restriction of this fragment to the existential positive part, and
(iii) the extension with counting quantifiers; and the combinatorial parameter
of tree-depth (Nesetril and Ossona de Mendez). Another instance recovers the
k-pebble game, the finite-variable fragments, the corresponding equivalences,
and the combinatorial parameter of treewidth. Other instances cover modal,
guarded and hybrid fragments, generalized quantifiers, and a wide range of
combinatorial parameters. This whole scheme has been axiomatized in a very
general setting, of arboreal categories and arboreal covers.
  Beyond this basic level, a landscape is beginning to emerge, in which
structural features of the resource categories, adjunctions and comonads are
reflected in degrees of logical and computational tractability of the
corresponding languages. Examples include semantic characterisation and
preservation theorems, and Lovasz-type results on counting homomorphisms.
