The Wright-Fisher family of diffusion processes is a class of evolutionary models widely used in population genetics. Simulation and inference from these diffusions is therefore of widespread interest. However, simulating a Wright-Fisher diffusion is difficult because there is no known closed-form formula for its transition function. In this talk I show how it is possible to simulate exactly from the scalar Wright-Fisher diffusion with general drift, extending ideas based on 'retrospective' simulation. The key idea is to exploit an eigenfunction expansion representation of the transition function. This approach also yields methods for exact simulation from several processes related to the Wright-Fisher diffusion: (i) the ancestral process of an infinite-leaf Kingman coalescent tree; (ii) its infinite-dimensional counterpart, the Fleming-Viot process; and (iii) its bridges. This is joint work with Dario Spano.