The Swiss National Science Foundation (SNSF) is to fund a project to research ways to better express and export fundamental programming abstractions used in the interfaces between databases and programming languages.

Scala is the programming language of choice for many of the most popular and innovative big data frameworks and is used by hundreds of thousands of developers worldwide. A general trend of increasing confluence of programming and database technologies is currently built on shaky foundations. Interfaces between programming and databases are poorly understood, hard to maintain, and not future proof.

The project, led by Martin Odersky of the Programming Methods Laboratory, will explore three orthogonal research areas. The first concerns projecting data and will involve investigating how generic programming abstractions can best be embedded in Scala. The second focuses on projecting control by embedding easy-to-use yet hard-to-abuse meta-programming techniques. The third area of research concerns distributed programming abstractions.