Scala for generic programmers

14 years 4 months ago
Scala for generic programmers
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. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features General Terms Languages ...
Bruno C. D. S. Oliveira, Jeremy Gibbons
Added 13 Dec 2009
Updated 13 Dec 2009
Type Conference
Year 2008
Where ICFP
Authors Bruno C. D. S. Oliveira, Jeremy Gibbons
Comments (0)