University of Oxford Logo University of OxfordDepartment of Computer Science - Home

Scala for Generic Programmers

Bruno Oliveira and Jeremy Gibbons

Abstract

Datatype-generic programming involves parametrization by the shape of data, in the form of type constructors such as "list of". Most approaches to datatype-generic programming are developed in the lazy functional programming language Haskell. We argue that the functional object-oriented language Scala is in many ways a better setting. Not only does Scala provide equivalents of all the necessary functional programming features (such parametric polymorphism, higher-order functions, higher-kinded type operations,and type- and constructor-classes), but it also provides the most useful features of object-oriented languages (such as subtyping,overriding, traditional single inheritance, and multiple inheritance in the form of traits). We show how this combination of features benefits datatype-generic programming, using three different approaches as illustrations.

Details

Address

Victoria‚ BC

Book Title

Workshop on Generic Programming

Editor

Ralf Hinze

Month

Sep

Year

2008

Links

BibTeX

Link (pdf)

Download official version from ACM

Related pages

People

Projects

Activities