Generating functionology
Computer algebra libraries for combinatorial structures
Journal of Symbolic Computation - Special issue on symbolic computation in combinatorics
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Shapely Types and Shape Polymorphism
ESOP '94 Proceedings of the 5th European Symposium on Programming: Programming Languages and Systems
MPC '98 Proceedings of the Mathematics of Program Construction
Journal of Functional Programming
Journal of Functional Programming
Clowns to the left of me, jokers to the right (pearl): dissecting data structures
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Smallcheck and lazy smallcheck: automatic exhaustive testing for small values
Proceedings of the first ACM SIGPLAN symposium on Haskell
Proceedings of the first ACM SIGPLAN symposium on Haskell
Fast and sound random generation for automated testing and benchmarking in objective Caml
Proceedings of the 2009 ACM SIGPLAN workshop on ML
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Testing polymorphic properties
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Feat: functional enumeration of algebraic types
Proceedings of the 2012 Haskell Symposium
Hi-index | 0.00 |
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 programming. It also introduces the species library, available on Hackage, which is used to illustrate the concepts introduced and can serve as a platform for continued study and research.