This page is part of an archival collection and is no longer actively maintained.

It may contain outdated information and may not meet current or future WCAG accessibility standards. We provide this content, its subpages, and associated links for historical reference only. If you need assistance, please contact support@cs.washington.edu

Parameterized Modules for Classes and Extensible Functions (UW-CSE WASP group)

Parameterized Modules for Classes and Extensible Functions

European Conference on Object-Oriented Programming, July 2006

A preliminary presentation on this work appeared at the informal FOOL/WOOD 2006 workshop, January 2006.


Keunwoo Lee, Craig Chambers


We present F(EML), a language that combines classes, extensible functions, symmetric multiple dispatching, and a practical system for parameterized modules. Parameterized modules permit subclasses and function extensions to be defined and typechecked once, and then reused to extend multiple argument modules. F(EML)'s predecessor, EML, supported classes and extensible functions with multiple dispatch, but its support for parameterized modules was weak. F(EML)'s key novel features relative to EML are alias declarations, generalized type relations in module signatures, and a nontrivial definition of signature subsumption.



UW-CSE WASP group