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
Times are displayed in time zone: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

15:40 - 17:20: Scala - Types and Embedding at Matterhorn 2
scala-201615:40 - 16:05
Paolo G. GiarrussoUniversity of Tübingen, Germany, Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany
scala-201616:05 - 16:30
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
scala-201616:30 - 17:20