© 2020 Strange Loop
The history of ecology and functional programming are intertwined. The Fibonacci sequence, commonly used to illustrate recursion for learners of functional programming, was initially created to model a population of rabbits. In 1935, the entomologist John Nicholson and the physicist Victor Bailey published The Balance of Animal Populations. They proposed equations to represent the population interaction between a parasitic wasp and its insect host. At the heart of the Nicholson-Bailey model is a mutually recursive relationship: a strange loop. The two populations depend upon each other and will recurse forever or crash as they both approach zero. The model became a paradigm in ecological modeling and is an essential tool in the field of biological control, where insect parasites that lay their eggs inside an invasive pest species are augmented for pest management. However, Nicholson-Bailey type models used in biological control studies rarely utilize high-level programming language tools. Generations is an open-source Python package containing parameterizable modules for understanding the population dynamics of biological control insects and their target plants (invasive weeds). Generations models the response of an invasive plant population to an herbivorous parasite, through a set of recursive functions. Come learn how functional programming is used to find organic solutions to invasive species problems to save native ecosystems and minimize the use of pesticides.