COMP 150PLD-Programming Language Design
Fall 2014
Evolving Schedule

Note that the schedule will be fluid. I will make adjustments based on how long it takes us to understand and evaluate the papers we are reading. Please read the assigned paper before the corresponding class.

Date Topic Deliverables
Sept 3 NO CLASS: Find 2 Languages in the Wild
Sept 8 Class Overview & Designing a Language
Sept 10 Designing a Language, Continued
Sept 15 Paper: Slideshow Questions Responses
Sept 17 Domain-Specific Langauges
Sep 22 Paper: ESP Questions Responses
Sept 24
Warm-up Exercises: Basic Haskell
Backup Reading: The Awkward Squad (Sections 1 and 2)
Slides: The IO Monad
Prep for 9/29: Exercise 1 Exercise 2
Sept 29
Backup Reading: Haskell Type Classes
Backup Reading: Ad Hoc Polymorphism Paper
Slides: Type Classes
Backup Reading: Monads for Functional Programming
Slides: Monads
Oct 1
Paper: PADS pads-haskell-1.1.tar.gz Pads installation
Code from class: Hopefully and State Monads
Oct 6 Paper: Troll Questions Responses
Oct 8 A tour of the PADS implementation using Quasi-Quotation Due: Haskell Monad Exercise
Oct 13 NO CLASS: Columbus Day
Oct 15 Paper: Template Haskell, Code Questions Responses Due: Design Proposal
Oct 20 Template Haskell
Oct 22 NO CLASS and NO OFFICE HOURS
Oct 27 Template Haskell
Oct 29 Paper: Quasiquotation Questions Responses Due: Grammar and Parser
Nov 3 Quasiquotation
Nov 5 Paper: Frenetic Questions Responses
Nov 10 Frenetic
Nov 12 Paper: UrWeb Questions Responses
Nov 17 UrWeb
Nov 19 Paper: OptiML Questions Responses Due Nov 21: Quasiquotation Implementation
Nov 24 OptiML
Nov 26     NO CLASS: Thanksgiving
Dec 1 Oral Presentations Due Dec 1 and 3: Presentations
Dec 3 Oral Presentations
Dec 8 Taking Stock: A Wrap-Up Discussion Due Dec 8: Final Reports