Species and Functors and Types, Oh My!
Penn collection
Degree type
Discipline
Subject
algebraic data types
Discrete Mathematics and Combinatorics
Programming Languages and Compilers
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Contributor
Abstract
The theory of combinatorial species, although invented as a purely mathematical formalism to unify much of combinatorics, can also serve as a powerful and expressive language for talking about data types. With potential applications to automatic test generation, generic programming, and language design, the theory deserves to be much better known in the functional programming community. This paper aims to teach the basic theory of combinatorial species using motivation and examples from the world of functional pro- gramming. It also introduces the species library, available on Hack- age, which is used to illustrate the concepts introduced and can serve as a platform for continued study and research.