Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Extensible Programming with First-Class Cases Matthias Blume Umut A. Acar Wonseok Chae
 

Summary: Extensible Programming with First-Class Cases
Matthias Blume Umut A. Acar Wonseok Chae
Toyota Technological Institute at Chicago
{blume,umut,wchae}@tti-c.org
Abstract
We present language mechanisms for polymorphic, extensible
records and their exact dual, polymorphic sums with extensible
first-class cases. These features make it possible to easily extend
existing code with new cases. In fact, such extensions do not re-
quire any changes to code that adheres to a particular programming
style. Using that style, individual extensions can be written inde-
pendently and later be composed to form larger components. These
language mechanisms provide a solution to the expression problem.
We study the proposed mechanisms in the context of an im-
plicitly typed, purely functional language PolyR. We give a type
system for the language and provide rules for a 2-phase transforma-
tion: first into an explicitly typed -calculus with record polymor-
phism, and finally to efficient index-passing code. The first phase
eliminates sums and cases by taking advantage of the duality with
records.

  

Source: Acar, Umut - Programming Languages and Systems Group, Max-Planck Institute for Software Systems

 

Collections: Computer Technologies and Information Sciences