Scala 2016
Sun 30 - Mon 31 October 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Sun 30 Oct 2016 16:05 - 16:30 at Matterhorn 2 - Types and Embedding

In this paper, we report on our experience in teaching a course on concepts of programming languages at TU Delft based on Krishnamurthi’s PAPL book with the definitional interpreter approach using Scala as meta-language and using the WebLab learning management system. In particular, we discuss our experience with encoding of definitional interpreters in Scala using case classes, pattern matching, and recursive functions; offering this material in the web-based learning management system WebLab; automated grading and feedback of interpreter submissions using unit tests; testing tests to force students to formulate tests, instead of just implementing interpreters; generation of tests based on a reference implementation to reduce the effort of producing unit tests; and the construction of a product line of interpreters in order to maximize reuse and consistency between reference implementations.

Presentation slide deck (Scala presentation.pdf)690KiB

Sun 30 Oct

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:40 - 17:20
Types and EmbeddingScala at Matterhorn 2
Revisiting the Cake Pattern: Scaling “Scalable Component Abstractions”
Paolo G. Giarrusso University of Tübingen, Germany, Jonathan Immanuel Brachthäuser University of Tübingen, Germany
A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report
Tim van der Lippe Delft University of Technology, Netherlands, Thomas Smith Delft University of Technology, Netherlands, Daniel A. A. Pelsmaeker Delft University of Technology, Netherlands, Eelco Visser Delft University of Technology, Netherlands
DOI File Attached
Unconference 1