It is our great pleasure to welcome you to the Scala Workshop 2014. The meeting follows in the tradition of 4 previous Scala Workshops. The Scala Workshop 2014 is co-located with the 28th edition of the European Conference on Object-Oriented Programming (ECOOP).
Scala is a general-purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. The Scala Workshop is a forum for researchers and practitioners to share new ideas and results of interest to the Scala community.
Proceeding Downloads
ScalaDyno: making name resolution and type checking fault-tolerant
The ScalaDyno compiler plugin allows fast prototyping with the Scala programming language, in a way that combines the benefits of both statically and dynamically typed languages. Static name resolution and type checking prevent partially-correct code ...
Accelerating parser combinators with macros
Parser combinators provide an elegant way of writing parsers: parser implementations closely follow the structure of the underlying grammar, while accommodating interleaved host language code for data processing. However, the host language features used ...
MorphScala: safe class morphing with macros
The goal of this paper is to design an easy type-safe metaprogramming API for Scala to capture generative metaprogramming tasks that depend on existing definitions to generate others, by writing meta-code as close as possible to regular Scala code.
...
Typecasting actors: from Akka to TAkka
Scala supports actors and message passing with the Akka library. Though Scala is statically typed, messages in Akka are dynamically typed (that is, of type Any). The Akka designers argue that using static types is "impossible" because "actor behaviour ...
Type-directed language extension for effectful computations
Computation types such as functors, applicative functors and monads have become common abstractions for modeling effectful computations in functional programming languages. They are often used together with special language extensions intended to ...
SciFe: Scala framework for efficient enumeration of data structures with invariants
We introduce SciFe, a tool for automated generation of complex structures, suitable for tasks such as automated testing and synthesis. SciFe is capable of exhaustive, memoized enumeration of values from finite or infinite domains. SciFe is based on the ...
Containers and aggregates, mutators and isolates for reactive programming
Many programs have an inherently reactive nature imposed by the functional dependencies between their data and external events. Classically, these dependencies are dealt with using callbacks. Reactive programming with first-class reactive values is a ...
Real-time collaborative Scala development with Clide
We present Clide, a real-time collaborative development environment. Clide offers a new approach to tool integration which complements the way resources are shifted to the cloud today. We achieve this by introducing the novel concept of universal ...
Towards virtual traits in Scala
Scala is a powerful language that supports a variety of features, but it lacks virtual traits. Virtual traits are class-valued object attributes and can be redefined within subtraits. They support higher-order hierarchies and family polymorphism. This ...
Index Terms
Proceedings of the Fifth Annual Scala Workshop



