\begin{abstract}

  \Stan provides a strongly typed, imperative language for specifying
  joint probability models.  Model specifications are converted to
  \Cpp code for reading data, transforming parameters, and calculating
  the log probability function and its gradient.  This \Cpp code is
  then compiled to an executable for performing full Bayesian
  inference by sampling from the posterior.  \Stan programs use
  automatically tuned, adaptive Hamiltonian Monte Carlo for sampling.

\end{abstract}