  The Wright-Fisher family of diffusion processes is a widely used class of
evolutionary models. However, simulation is difficult because there is no known
closed-form formula for its transition function. In this article we demonstrate
that it is in fact possible to simulate exactly from a broad class of
Wright-Fisher diffusion processes and their bridges. For those diffusions
corresponding to reversible, neutral evolution, our key idea is to exploit an
eigenfunction expansion of the transition function; this approach even applies
to its infinite-dimensional analogue, the Fleming-Viot process. We then develop
an exact rejection algorithm for processes with more general drift functions,
including those modelling natural selection, using ideas from retrospective
simulation. Our approach also yields methods for exact simulation of the moment
dual of the Wright-Fisher diffusion, the ancestral process of an infinite-leaf
Kingman coalescent tree. We believe our new perspective on diffusion simulation
holds promise for other models admitting a transition eigenfunction expansion.
