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 la...
Päätekijät: | , , |
---|---|
Aineistotyyppi: | Conference item |
Julkaistu: |
2008
|
_version_ | 1826301574654197760 |
---|---|
author | Oliveira, B Gibbons, J ACM |
author_facet | Oliveira, B Gibbons, J ACM |
author_sort | Oliveira, B |
collection | OXFORD |
description | 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. Copyright © 2008 ACM. |
first_indexed | 2024-03-07T05:34:28Z |
format | Conference item |
id | oxford-uuid:e36928ae-ec6c-4b7d-8f2d-a93bf60273a6 |
institution | University of Oxford |
last_indexed | 2024-03-07T05:34:28Z |
publishDate | 2008 |
record_format | dspace |
spelling | oxford-uuid:e36928ae-ec6c-4b7d-8f2d-a93bf60273a62022-03-27T10:08:52ZScala for Generic ProgrammersConference itemhttp://purl.org/coar/resource_type/c_5794uuid:e36928ae-ec6c-4b7d-8f2d-a93bf60273a6Symplectic Elements at Oxford2008Oliveira, BGibbons, JACMDatatype-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. Copyright © 2008 ACM. |
spellingShingle | Oliveira, B Gibbons, J ACM Scala for Generic Programmers |
title | Scala for Generic Programmers |
title_full | Scala for Generic Programmers |
title_fullStr | Scala for Generic Programmers |
title_full_unstemmed | Scala for Generic Programmers |
title_short | Scala for Generic Programmers |
title_sort | scala for generic programmers |
work_keys_str_mv | AT oliveirab scalaforgenericprogrammers AT gibbonsj scalaforgenericprogrammers AT acm scalaforgenericprogrammers |