Optimizing functional expressions in the Scala programming language
Supervisors
Suitable for
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