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

Conference Day
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. GiarrussoUniversity of Tübingen, Germany, Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany
A Scalable Infrastructure for Teaching Concepts of Programming Languages in Scala with WebLab: An Experience Report
Tim van der LippeDelft University of Technology, Netherlands, Thomas SmithDelft University of Technology, Netherlands, Daniel A. A. PelsmaekerDelft University of Technology, Netherlands, Eelco VisserDelft University of Technology, Netherlands
DOI File Attached
Unconference 1