The Software Languages Book

A textbook on software languages authored by Ralf Lämmel.

Title: Software languages

Subtitle: Syntax, semantics, and metaprogramming

Status: Under review by Springer

Frontmatter including table of contents: (.pdf)

Sample chapter - The notion of software language: (.pdf)

The book and chapters thereof can be shared with individuals (individuals, lecturers, students, etc.), subject to agreement with a copyright notice (which basically constraints sharing and use after the publication date of the book). If you would like to look at the book, please send an email to ed.znelbok-inu|gnaltfos#ed.znelbok-inu|gnaltfos. The book is still undergoing proof-reading and reviewing. Your feedback is very much welcome. Below also find slides and videos for material in the book.

Copyright for artwork: (C) 2016-17 Wojciech Kwasnik, Daniel Dünker, Matt Sheehy, Archina Void, Ralf Lämmel, Software Languages Team, Faculty of Computer Science, University of Koblenz-Landau. Image licensed under a Creative Commons Attribution 4.0 International License.

Slides and videos

Topics from the book are supported by focused and compact presentations with slides an YouTube videos as listed below. The videos are between 10-15mins. Experienced lecturers will be able to use the underlying slides for an extended presentation.

  • Internal DSL style: [PDF]; [YouTube]
  • External DSL style: [PDF]; [YouTube]
  • Program generation with template processing: [PDF]; [YouTube]
  • Tree-based abstract syntax: [PDF]; [YouTube]
  • Basics of interpretation: [PDF]; [YouTube]
  • Big-step operational semantics: [PDF]; [YouTube]
  • Small-step operational semantics: [PDF]; [YouTube]
  • An introduction to type systems: [PDF]; [YouTube]
  • An introduction to denotational semantics: [PDF]; [YouTube]
  • An introduction to the lambda calculus: [PDF]; [YouTube]
  • Short introduction to programming language theory: [PDF]
  • An interpreter for every season: [PDF]