Programming Languages and Systems (TOPLAS)


Search Issue
enter search term and/or author name


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 31 Issue 3, April 2009

Deferring design pattern decisions and automating structural pattern changes using a design-pattern-based programming system
Steve MacDonald, Kai Tan, Jonathan Schaeffer, Duane Szafron
Article No.: 9
DOI: 10.1145/1498926.1498927

In the design phase of software development, the designer must make many fundamental design decisions concerning the architecture of the system. Incorrect decisions are relatively easy and inexpensive to fix if caught during the design process,...

Ranking functions for size-change termination
Chin Soon Lee
Article No.: 10
DOI: 10.1145/1498926.1498928

This article explains how to construct a ranking function for any program that is proved terminating by size-change analysis.

The “principle of size-change termination” for a first-order functional language with...

Separation and information hiding
Peter W. O'Hearn, Hongseok Yang, John C. Reynolds
Article No.: 11
DOI: 10.1145/1498926.1498929

We investigate proof rules for information hiding, using the formalism of separation logic. In essence, we use the separating conjunction to partition the internal resources of a module from those accessed by the module's clients. The use of a...

Operational semantics for multi-language programs
Jacob Matthews, Robert Bruce Findler
Article No.: 12
DOI: 10.1145/1498926.1498930

Interoperability is big business, a fact to which .NET, the JVM, and COM can attest. Language designers are well aware of this, and they are designing programming languages that reflect it—for instance, SML.NET, F#, Mondrian, and Scala...