This experimental course will showcase new programming language
features and analyses. The goal is to bring you up-to-date on
advanced tools that are available, as well as helping you learn how
to read and present research papers in this area.
This class will be structured as follows: each week we'll hear
presentations on a paper from a student, before the
class every student will turn in a review of the paper,
after the class every student will turn in a review
of presenter. If a paper is particularly confusing, I'll
take the next day to go over some of the necessary theory. The best
presentations will demo the language feature or tool.
Schedule
Paper Reviews
These should contain a summary of the paper (5 sentences-ish), a
summary of the primary contributions (3 sentences-ish), a discussion
of strengths (3) and weaknesses (3), and a description of unaddressed
challenges (3 sentences.)
Presentation Reviews
Review the presenter's (1) coverage, (2) clarity, (3) style, (4)
insight, and (5) grasp.
Paper List
Look for papers at the following locations:
Here are some suggestions:
- Scheme 2002 Wick, Flatt, and Hsieh.
Reachability-based Memory Accounting
- ICFP 2002 Flatt.
Composable and Compilable Macros: You Want it When?
- ECOOP 2004 Findler, Flatt, and Felleisen.
Semantic Casts: Contracts and Structural Subtyping in a Nominal World
- RTA 2004 Matthews, Findler, Flatt, and Felleisen.
A Visual Environment for Developing Context-Sensitive Term Rewriting Systems
- PLDI 2004 Flatt and Findler.
Kill-Safe Synchronization Abstractions
- ICFP 2004 Findler and Flatt.
Slideshow: Functional Presentations
- Scheme 2004 Owens, Flatt, Shivers, and McMullan.
Lexer and Parser Generators in Scheme
- Scheme 2004 Gray and Flatt.
Compiling Java to PLT Scheme
- OOPSLA 2004 Goldberg, Findler, and Flatt.
Super and Inner — Together at Last!
- ISMM 2004 Wick and Flatt.
Memory Accounting without Partitions
- GPCE 2005 Culpepper, Owens, and Flatt.
Syntactic Abstraction in Component Interfaces
- ICFP 2007 Flatt, Yu, Finlder and Felleisen.
Adding Delimited and Composable Control to a Production Programming Environment
- Felleisen
(Science of Computer Programming 1991)
On the Expressive Power of Programming Language
- PLDI 93 : Flanagan, Sabry, Duba and Felleisen
The Essence of Compiling with Continuations
- Wright and Felleisen
(Information and Computation 1994)
A Syntactic Approach to Type Soundness
- FPCA 95 : Morrisett, Felleisen and Harper
Abstract Models of Memory Management
- PLDI 97 : Flanagan and Felleisen
Componential Set-Based Analysis
- POPL 98 : Flatt, Krishnamurthi, and Felleisen
Classes and Mixins
- ICFP 98 : Findler and Flatt
Modular Object-Oriented Programming with Units and Mixins
- ICFP 99 : Flatt, Findler, Krishnamurthi and Felleisen
Programming Languages as Operating Systems (or, Revenge of the Son of the Lisp Machine)
- Flanagan and Felleisen
(Journal of Functional Programming)
The Semantics of Future and an Application
- ESOP 2001 : Clements, Flatt, Felleisen
Modeling an Algebraic Stepper
- ICFP 2002 : Findler, Felleisen
Contracts for Higher-order Functions
- FDPE 2002 : Felleisen, Findler, Flatt, Krishnamurthi
The Structure and Interpretation of the Computer Science Curriculum
- ESOP 2003 : Clements, Felleisen
A Tail-Recursive Semantics for Stack Inspections
- Scheme and Functional Programming 2004 : Meunier and Silva
From Python to PLT Scheme
- Matthews, Findler, Graunke, Krishnamurthi, Felleisen
(Journal of Automated Software Engineering)
Automatically Restructuring Software for the Web
- ICSE 2004 : Antoniu, Steckler, Krishnamurthi, Neuwirth, Felleisen
Validating the Unit Correctness of Spreadsheet Programs
- Scheme 2004 and Functional Programming : Barzilay, Orlovsky
Foreign Interface for PLT Scheme
- FDPE 2005 : Barzilay and Clements
Laziness Without All the Hard Work
- ICFP 2005 : Pettyjohn, Clements, Marshall, Krishnamurthi, Felleisen
Continuations from Generalized Stack Inspection
- POPL 2006 : Meunier, Findler, Felleisen
Modular Set-Based Analysis from Contracts
- Scheme 2006 and Functional Programming : Culpepper, Felleisen
A Stepper for Scheme Macros
- Krishnamurthi, Hopkins, McCarthy, Graunke, Pettyjohn , Felleisen
(Journal of Higher-Order and Symbolic Computing)
Implementation and Use of the PLT Scheme Web Server
- POPL 2008 : Tobin-Hochstadt, Felleisen
The Design and Implementation of Typed Scheme
- Relationally-Parametric Polymorphic Contracts
Guha, Matthews, Findler, Krishnamurthi
Dynamic Languages Symposium (DLS) 29-40 2007
- Lazy Contract Checking for Immutable Data Structures
Findler, Guo, and Rogers
International Symposium on Implementation and Application of Functional Languages (IFL) 2007
- A Rewriting Semantics for Type Inference
Kuan, MacQueen, Findler
European Symposium on Programming (ESOP) 426-440 2007