Generic programming with adjunctions

  • Authors:
  • Ralf Hinze

  • Affiliations:
  • Department of Computer Science, University of Oxford, Oxford, England

  • Venue:
  • SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Adjunctions are among the most important constructions in mathematics. These lecture notes show they are also highly relevant to datatype-generic programming. First, every fundamental datatype--sums, products, function types, recursive types--arises out of an adjunction. The defining properties of an adjunction give rise to well-known laws of the algebra of programming. Second, adjunctions are instrumental in unifying and generalising recursion schemes. We discuss a multitude of basic adjunctions and show that they are directly relevant to programming and to reasoning about programs.