Spring 2009 Programming Languages Reading Group
William Cook wcook@cs.utexas.edu
LOCATION: ACES 5.116
TIME: Every Wednesday from 11AM to Noon
We will read and discuss one paper per meeting.
11/18/09
The Paradoxical Success of Aspect-Oriented Programming by Friedrich Steimann
10/28/09
No meeting. At OOPSLA
10/21/09
Foldl and foldr considered (slightly) harmful. Guy Steele 2009 Here is a video to go along with the paper
10/14/09
Meeting with Gérard Huet
9/30/09
NO Meeting!
9/23/09
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. Erik Meijer, Maarten Fokkinga, and Ross Paterson, 1991.
9/16/09
On Understanding Data Abstraction, Revisited. William R. Cook, 2009.
Independently Extensible Solutions to the Expression Problem. Martin Odersky and Matthias Zenger, 2005.
Spring 2009
5/27/09: Two papers on Coalgebra
A Tutorial on (Co)Algebras and (Co)Induction by Bart Jacobs, Jan Rutten
Objects And Classes, Co-Algebraically by Bart Jacobs http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.7619
5/20/09: NO MEETING
5/13/09: Status meeting
5/6/09: Power of PI and Modeling discussion
4/29/09: Room Change ACES 2.404B
4/22/09: The Power of Pi
The Power of Pi. Nicolas Oury and Wouter Swierstra, 2008.
4/8/09: Policy-Based Authorization
Policy-Based Authorization William Cook
4/1/09: Abstract Interpretation (cut: and Application to Logic Programs)
Abstract Interpretation (cut: and Application to Logic Programs). Cousot & Cousot, 1992.
3/25/09: Status meeting: Pummel, DB/Batching, Orc, Synthesis
3/18/09: No meeting, spring break
3/11/09: Continue discussion and review derivation of sorting
Mechanizing the Development of Software - Doug Smith. NOTE THAT we will meet in the open conference area near my office for this week only.
3/04/09: Mechanizing the Development of Software
Mechanizing the Development of Software - Doug Smith, 1999
Feedback: I found the first meeting very educational. I wouldn't mind continuing discussion of the Smith paper, especially if we could focus on the practical issues of this approach:
- which application domains it has trouble with
- how to deal with changing requirements
- how to generate efficient imperative implementations
- how to debug faulty or incomplete specifications
- how to interoperate with legacy systems
- generally how practical it is for general-purpose programming
Suggestions
On Decidability of Nominal Subtyping with Variance. Andrew Kennedy and Benjamin Pierce, 2006.
Logical view of effects. Bob Harper and Sungwoo Park, 2004.
Coalgebras, Stone Duality, and Modal Logic. Kurz 2006
Proposed Papers
SYNTHESIS
Toward a Classification Approach to Design. Smith, 1996.
A High-Level Derivation of Global Search Algorithms (with Constraint Propagation). Peter Pepper and Douglas R. Smith, 1997.
Program Derivation by Fixed Point Computation. Jiazhen Cai and Robert Paige1989
ABSTRACT INTERPRETATION
Abstract Interpretation and Application to Logic Programs. Cousot & Cousot, 1992.
Program Analysis as Model Checking of Abstract Interpretations. Schmidt & Steffen, 1998.
ORCHESTRATION
Structured Communication-Centred Programming for Web Serices Marco Carbone, Kohei Honda and Nobuko Yoshida ESOP'2007, 2007
PARTIAL EVALUATION
Deforestation: Transforming programs to eliminate trees. Philip Wadler.
AUTHORIZATION
Policy-Based Authorization. William Cook.
DEPENDENT TYPING
The Power of Pi. Nicolas Oury and Wouter Swierstra, 2008.
Domain-Specific Languages
WebDSL: A Case Study in Domain-Specific Language Engineering. Eelco Visser.
POLYTYPIC AND GENERIC PROTRAMMING
Scrap your boilerplate: a practical design pattern for generic programming. 2003.
Generic Programming, Now!. Ralf Hinze and Andres Löh, 2006.
Comparing Approaches to Generic Programming. Ralf Hinze, Johan Jeuring and Andres Löh, 2006.
Clowns to the left of me, jokers to the right (pearl): dissecting data structures. Conor McBride
EXPRESSION PROBLEM
(need more here)
MONADS FOR FUNCTIONAL PROGRAMMING
Comprehending Monads. Wadler, 1992.
Monads for functional programming. Wadler, 1995.
Building interpreters by composing monads. Steele, 1994.
Monadic Parsing in Haskell. Hutton & Meijer, 1998.
PROGRAM ANALYSIS
The Interprocedural Coincidence Theorem. Knoop & Steffan, 1992.
Background reading:
Monotone data flow analysis frameworks. Kam & Ullman, 1975.
A unified approach to global program optimization. Killdall, 1973.
SHAPE ANALYSIS
Solving shape-analysis problems in languages with destructive updating. Sagiv, Reps & Wilhelm, 1996.
CONTINUATIONS
Handling control. Dorai Sitaram, 1993.
Continuations and the nature of quantification. Chris Barker, 2002.
Call-by-value is dual to call-by-name. Philip Wadler, 2003.
OTHER
F-Bounded polymorphism for object-oriented programming. Peter Canning, William R. Cook, Walt Hill, John C. Mitchell and Walter Olthoff, 1989.
Kleisli, a Functional Query System. Limsoon Wong
Inheritance is not subtyping. William R. Cook, Walt Hill and Peter Canning, 1990.
