The likely package provides a generic interface to numerical algorithms that are useful when working with likelihoods. In particular, the package provides a uniform way to minimize an objective function (with an optional gradient calculator) and characterize the function near its minimum in order to estimate errors.
The code is written in C++ and designed to be easily extensible. There are currently optional interfaces to GSL and Minuit2, and a self-contained MCMC engine. Code is hosted at github.