Practical Variable-Arity Polymorphism

14 years 1 months ago
Practical Variable-Arity Polymorphism
Just as some functions have uniform behavior over distinct types, other functions have uniform behavior over distinct arities. These variable-arity functions are widely used in scripting languages such as Scheme and Python. Statically typed languages also accommodate modest forms of variable-arity functions, but even ML and Haskell, languages with highly expressive type systems, cannot type check the wide variety of variable-arity functions found in untyped functional languages. Consequently, their standard libraries contain numerous copies of the same function definition with slightly different names. As part of the Typed Scheme project—an on-going effort to create an explicitly typed sister language for PLT Scheme—we have designed and implemented an expressive type system for variable-arity functions. Our practical validation in the context of our extensive code base confirms the usefulness of the enriched type system. 1 Types for Variable-Arity Functions For the past two yea...
T. Stephen Strickland, Sam Tobin-Hochstadt, Matthi
Added 19 May 2010
Updated 19 May 2010
Type Conference
Year 2009
Where ESOP
Authors T. Stephen Strickland, Sam Tobin-Hochstadt, Matthias Felleisen
Comments (0)