Skip to main content

Optimizing functional expressions in the Scala programming language

Supervisors

Suitable for

Computer Science
Computer Science, Part B
Computer Science, Part C

Abstract

The Scala programming language provides a large number of capabilities that are normally found only in functional programming languages. However, as of the latest version of the compiler (currently 2.10.x), there is little to no optimization of functional expressions, such as maps or filters, over collections.

The objective of the project is to develop a framework of compile-time optimizations for the standard functional constructs, such as for comprehensions, maps, folds, filters, and so on, as has been implemented for the Haskell programming language. These optimizations should achieve performance comparable to that of the equivalent imperative code.

Prerequisites: Compilers; Useful: Computer Architecture