|Prerequisites||Students should have strong backgrounds in programming and be able to understand formal semantics of programming languages.|
These days, making your own programming language is all the rage. If Facebook and Apple have them, then we should all have them too. But what does it mean to make a programming language? What does it mean to make a research language? What is a programming language?
This seminar aims to answer these questions by providing an overview of the state-of-the-art in domain-specific languages. We begin with a survey of domain-specific languages, from those well-specified in research to those popular in practice, as well as tools and techniques for specifying and implementing domain-specific languages. The course will include five units:
The first 30 minutes of each class will involve a presentation of the reading and the rest of the class will take a discussion format.