PolyP — a polytypic programming language extension. Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, debuggers, equality functions, unifiers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of user-defined datatypes. This paper extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks definitions of polytypic functions, and infers the types of all other expressions using an extension of Jones’ theories of qualified types and higher-order polymorphism. The semantics of the programs in the extended language is obtained by adding type arguments to functions in a dictionary passing style. ...

This software is also peer reviewed by journal TOMS.

References in zbMATH (referenced in 33 articles , 1 standard article )

Showing results 1 to 20 of 33.
Sorted by year (citations)

1 2 next

  1. Lee, Gyesik; Oliveira, Bruno C. D. S.; Cho, Sungkeun; Yi, Kwangkeun: GMeta: a generic formal metatheory framework for first-order representations (2012)
  2. Cunha, Alcino; Visser, Joost: Transformation of structure-shy programs with application to XPath queries and strategic functions (2011)
  3. Chadwick, Bryan; Lieberherr, Karl: A functional approach to generic programming using adaptive traversals (2010)
  4. Frisby, Nicolas; Kimmell, Garrin; Weaver, Philip; Alexander, Perry: Constructing language processors with algebra combinators (2010)
  5. Johann, Patricia; Ghani, Neil: A principled approach to programming with nested types in Haskell (2010)
  6. Abel, Andreas: Type-based termination of generic programs (2009)
  7. Bove, Ana; Dybjer, Peter: Dependent types at work (2009)
  8. Hinze, Ralf; Löh, Andres: Generic programming in 3D (2009)
  9. Jay, Barry: Pattern calculus. Computing with functions and structures (2009)
  10. Morris, Peter; Altenkirch, Thorsten; Ghani, Neil: A universe of strictly positive families (2009)
  11. Backhouse, Roland; Doornbos, Henk: Datatype-generic termination proofs (2008)
  12. Lämmel, Ralf: Scrap your boilerplate with XPath-like combinators (2007)
  13. Bringert, Björn; Ranta, Aarne: A pattern for almost compositional functions (2006)
  14. Dybjer, Peter; Setzer, Anton: Indexed induction-recursion (2006)
  15. Morris, Peter; Altenkirch, Thorsten; McBride, Conor: Exploring the regular tree types (2006)
  16. Abel, Andreas; Matthes, Ralph; Uustalu, Tarmo: Iteration and coiteration schemes for higher-order and nested datatypes (2005)
  17. Lämmel, Ralf: Programmable rewriting strategies in Haskell (white paper) (2005)
  18. Weirich, Stephanie; Huang, Liang: A design for type-directed programming in Java (2005)
  19. Hinze, Ralf: Generics for the masses (2004)
  20. Norell, Ulf; Jansson, Patrik: Prototyping generic programming in Template Haskell (2004)

1 2 next