XPP solves difference equations, delay equations, functional equations, boundary value problems, and stochastic equations. It evolved from a work on the qualitative theory of nerve membranes. The code brings together a number of useful algorithms and is portable.