Skip to main content

Multi-polymorphic programming in bondi


Thomas Given-Wilson, Freeman Huang and Barry Jay


University of Technology


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, 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.

BibTeX Entry

    author           = {Given-Wilson, Thomas and Huang, Freeman and Jay, Barry},
    doi              = {10.1145/2502488.2502493},
    month            = sep,
    year             = {2013},
    keywords         = {polymorphism, pattern matching, bondi, pattern calculus, generic programming},
    address          = {Boston, Massachusetts, USA},
    title            = {Multi-polymorphic programming in bondi},
    pages            = {53--60},
    booktitle        = {9th ACM SIGPLAN Workshop on Generic Programming},
    publisher        = {ACM}


Served by Apache on Linux on seL4.