Description: A system for writing hierarchical statistical models largely compatible with 'BUGS' and 'JAGS', writing nimbleFunctions to operate models and do basic R-style math, and compiling both models and nimbleFunctions via custom-generated C++.  'NIMBLE' includes default methods for MCMC, particle filtering, Monte Carlo Expectation Maximization, and some other tools.  The nimbleFunction system makes it easy to do things like implement new MCMC samplers from R, customize the assignment of samplers to different parts of a model from R, and compile the new samplers automatically via C++ alongside the samplers 'NIMBLE' provides.  'NIMBLE' extends the 'BUGS'/'JAGS' language by making it extensible: New distributions and functions can be added, including as calls to external compiled code.  Although most people think of MCMC as the main goal of the 'BUGS'/'JAGS' language for writing models, one can use 'NIMBLE' for writing arbitrary other kinds of model-generic algorithms as well.  A full User Manual is available at <https://r-nimble.org>.

Bergman, Nick Michaud, Fritz Obermeyer, Duncan Temple Lang

Author: Perry de Valpine, Christopher Paciorek, Daniel Turek, Cliff Anderson-Bergman, Nick Michaud, Fritz Obermeyer, Claudia Wehrhahn Cortes, Abel Rodriguez, Duncan Temple Lang, and see AUTHORS file for additional contributors.

person("Abel", "Rodriguez", role = "aut", comment = "Bayesian nonparametrics system"),
Abel Rodriguez [aut] (Bayesian nonparametrics system),

compatible with 'BUGS' and 'JAGS', writing nimbleFunctions to operate models and
do basic R-style math, and compiling both models and nimbleFunctions via custom-
generated C++. 'NIMBLE' includes default methods for MCMC, particle filtering,
Monte Carlo Expectation Maximization, and some other tools. The nimbleFunction
system makes it easy to do things like implement new MCMC samplers from R,
customize the assignment of samplers to different parts of a model from R, and
compile the new samplers automatically via C++ alongside the samplers 'NIMBLE'
provides. 'NIMBLE' extends the 'BUGS'/'JAGS' language by making it extensible:
New distributions and functions can be added, including as calls to external
person("Dao", "Nguyen", role = "ctb", comment = "contributions to the IF2 code"),
Dao Nguyen [ctb] (contributions to the IF2 code),