Departmental Papers (CIS)

Date of this Version


Document Type

Conference Paper


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.


combinatorial species, algebraic data types



Date Posted: 06 September 2013

This document has been peer reviewed.