Student: Stephen Tu
Mentor: Philipp Haller
This project aims to solve two main bottlenecks in the current Scala implementation of remote actors: Java serialization and blocking IO. The proposed solution is to build a fast serialization facility directly into Scala, using an existing serialization format (e.g. Apache Avro). To solve the blocking IO problem, an NIO-based net-kernel implementation will be explored.
Student: Aemon Cannon
Mentor: Hubert Plociniczak
Emacs modes usually lack sophisticated IDE functions such as type checking, type inspection and method completion. Since the introduction of the Scala presentation compiler, it is now possible for an IDE to interact directly with the Scala compiler, leveraging the core type checking and type inference support. The ENSIME project [1] aims to expose the Presentation Compiler to Emacs in a client/server architecture similar to SLIME, in order to provide advanced Scala IDE functionality to Emacs users.
Screencast [2] of preliminary features now available!
Student: Mads Hartmann Jensen
Mentors: David Pollak and Tim Perrett
> processor-name <create | destroy> <thing-to-create-or-delete> <args this thing needs>
Student: Dariusz Kosz
Mentor: Ingo Maier
The Java platform provides a relatively sophisticated 2D graphics interface that can target different GPU accelerated backends. Unfortunately, there is no API to these backends so that clients can make use of GPU shaders directly. This project will involve developing a 2D graphics API that implements most of Java2D's functionality on top of OpenGL (LWJGL/JOGL) that lets programmer make use of fragment shaders (and possibly geometry/vertex shaders as well) for visual effects.
Student: Bartosz Lipinski
Mentor: Miguel Garcia
A productivity feature that seasoned .NET developers want to keep from C# is LINQ, not so much because of its notational convenience (Scala has supported comprehensions since the start) but rather due to the accompanying tooling that realizes most of what we perceive as "LINQ power" (e.g., Object- Relational Mapping, query shipping and server-side optimization, etc.) It makes sense thus make Scala.Net play a good host for embedded LINQ queries by:
Student: Mingjian Jin
Mentor: Miles Sabin
The Scala programming language has a number of features which would benefit from additional feedback in programming tools and IDEs. This project will explore the following ideas:
Student: Petr Hosek
Mentor: Gilles Dubochet
This project eases the contribution of Scala API documentation. The goal of this project is to design and write a collaborative editor for API documentation, most likely based on wiki technology. A secondary goal is to explore specific social issues related to collaborative editing of API documentation.
Outline of possible implementation:
Links:
[1] http://github.com/aemoncannon/ensime
[2] http://www.youtube.com/watch?v=A2Lai8IjLoY
[3] http://liftweb.net
[4] http://code.google.com/p/simple-build-tool/
[5] http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/library/index.html#
[6] http://liftweb.net/
[7] http://old.nabble.com/-scala--How-to-contribute-scaladoc-td26412577.html