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

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 PelsmaekerDelft University of Technology, Netherlands, Eelco VisserDelft University of Technology, Netherlands
DOI File Attached
scala-201616:30 - 17:20