Doctoral Program in Computer Science
365 5th Avenue
New York City 10016
Room 4319
Phone: 212.817.8190
Fax: 212.817.1510
compsci@gc.cuny.edu
  Click here to go to the Graduate Center main page.

Computer Science Colloquium
 


Thursday, October 30, 4:15pm, 9206
 
Stephanie Weirich  
(University of Pennsylvania)
 
"Unifying Nominal and Structural Ad-hoc Polymorphism"
 
Ad-hoc polymorphism allows the execution of programs to depend on type information. In modern systems, it is useful for implementing generic operations over data structures, such as equality, marshalling, or traversal. In the past, there have been two different forms of ad-hoc polymorphism. The nominal form dispatches on the name of the type argument, whereas the structural form operates by decomposing the structure of types. In languages with user-defined types, these two approaches are very different. Operations defined by the nominal approach are "open" — they must be extended with specialized branches for user-defined types. In contrast, structurally defined operations are closed to extension. They automatically apply to user-defined types by treating them as their underlying definitions. Both approaches have their benefits, so it important to provide both capabilities in a language. Therefore we present an expressive language that supports both forms of ad-hoc polymorphism in a single framework. Among the language's features are the ability to define both "open" and "closed" operations with a single mechanism, the ability to naturally restrict the domain of type-analyzing operations, and new mechanisms for defining higher-order polytypism and manipulating generative type definitions.

Joint work with Geoffrey Washburn at University of Pennsylvania.

 
The Colloquium is supported by generous contributions from the CUNY Faculty Development Program, Bloomberg, Information Builders, Inc. and qbt Systems, Inc.
 

 

Computer Science Colloquium Start page

Next Talk

Schedule

Past events

Pictures