GSoC/GCI Archive
Google Summer of Code 2011

Ecole Polytechnique Federale de Lausanne, Scala Team

Web Page: http://www.scala-lang.org/gsoc2011

Mailing List: http://www.scala-lang.org/node/199#scala

Ecole Polytechnique Federale de Lausanne (EPFL), based in Switzerland, has been consistently ranked among the best European research institutions in computer science. The Programming Languages Laboratory (LAMP) is led by Professor Martin Odersky. Odersky, an ACM Fellow, is considered one of the world's top experts in programming languages design. He is the co-designer of the Java Generics proposal and is the one of the original authors of the current javac compiler. Aside from Prof. Odersky, LAMP comprises 7 graduate students and 5 post-doctoral researchers/programmers. We are best known for the development of the Scala programming language (http://www.scala-lang.org), which is generating ever-increasing interest from industry and research communities alike. Currently, Scala is extensively used in prominent companies, including Twitter, Xerox, Sony, LinkedIn, EDFT, Siemens, and Reaktor. Additionally, we have close ties with external Scala-related projects, such as the Eclipse Scala plugin (www.scala-ide.org), Lift (http://liftweb.net/), Akka (http://www.scala-lang.org/node/4791), Kestrel (http://www.scala-lang.org/node/1008), and ScalaTest (http://node/3869). Scala runs on the JVM and .NET, integrating near-seamlessly with libraries on those platforms. This signficantly reduces barriers to adoption and has been a key factor in Scala’s success. Worldwide, there are an estimated 100,000 skilled Scala programmers--a number that is continually increasing. Last year’s Scala Days conference (http://days2010.scala-lang.org/) garnered significant interest within the community--so much so that we reached capacity long before the registration deadline. We expect an even larger turnout for this year’s conference. Scala development is supported by quality development tools: Jenkins for build, issue tracking with Trac (soon to be Jira), version control with SVN and Git, and an extensive test-suite.

Projects

  • Colladoc improvements Colladoc - web application allowing to edit Scala symbols documentation. For creation a strong community of Collasoc commentators, need to improve the system’s collaborative features and main usability issues. After the resolution of technical issues need Colladoc advertising among the scala developers by posting mail to the mailing lists, writing blog posts, etc.
  • Gsoc Akka Remote Class Loading In short I want to implement the Remote Class Loading feature for Akka. I wish to be inspired by Martin Elwin's prototype (http://goo.gl/QEfmg) and put things to a new level. Namely figure out how to properly do class reloading and resolve all the problems involving class hierarchies. My goal is to make this thing production grade.
  • Parallel Collections Extensions Scala's new parallel collections framework is an extension to the standard collections framework. However, parallel collections are currently not thread-safe. This project proposes to to extend the framework to allow concurrent read and/or write access to a parallel collection. A goal is to extend concurrent hash tries and concurrent skip lists with parallel bulk operations. Another goal is add other currently missing parallel data structures (such as ordered maps and sets).
  • Scala Protobuf compiler I'd like to help with Protobuf support for Scala by writing a stand-alone compiler in Scala for serialization/deserialization to and from Google's Protobuf format. I believe I have the necessary experience and could help make Scala an even better language, even though I'm maybe only helping in a small way.