NIMBLE is a modeling language and algorithm programming framework for Bayesian and likelihood-based statistical analysis. It allows users to write custom algorithms that operate on statistical models specified in the BUGS language. The framework processes BUGS models to extract relationships, builds a graphical model object, generates C++ code, and provides interfaces to compiled algorithm functions. This allows for flexible and distributed development of advanced Bayesian computational methods.