  We present a symplectic integrator, based on the canonical midpoint rule, for
classical spin systems in which each spin is a unit vector in $\mathbb{R}^3$.
Unlike splitting methods, it is defined for all Hamiltonians, and is
$O(3)$-equivariant. It is a rare example of a generating function for
symplectic maps of a noncanonical phase space. It yields an integrable
discretization of the reduced motion of a free rigid body.
