Multi-polymorphic programming in bondi

  • Authors:
  • Thomas Given-Wilson;Freeman Huang;Barry Jay

  • Affiliations:
  • National ICT Australia (NICTA), Sydney, Australia;Queen's University, Kingston, Canada;University of Technology Sydney, Sydney, Australia

  • Venue:
  • Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The bondi programming language is multi-polymorphic, in that it supports four polymorphic programming styles within a small core of computation, namely a typed pattern calculus. bondi's expressive power is illustrated by considering the problem of assigning reviewers to a paper. As the context generalises from a committee to a committee with additional reviewers, to a conference, to a federation or confederation, the solution incorporates polymorphism familiar from the functional, generic functional, relational, path-based, and object-oriented programming styles, respectively. These experiments show that multi-polymorphic programming is both practical and desirable.