ACM DL

Programming Languages and Systems (TOPLAS)

Menu

Search Issue
enter search term and/or author name

Archive


ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 30 Issue 2, March 2008

Reverse-mode AD in a functional framework: Lambda the ultimate backpropagator
Barak A. Pearlmutter, Jeffrey Mark Siskind
Article No.: 7
DOI: 10.1145/1330017.1330018

We show that reverse-mode AD (Automatic Differentiation)—a generalized gradient-calculation operator—can be incorporated as a first-class function in an augmented lambda calculus, and therefore into a functional-programming language....

Exceptional situations and program reliability
Westley Weimer, George C. Necula
Article No.: 8
DOI: 10.1145/1330017.1330019

It is difficult to write programs that behave correctly in the presence of run-time errors. Proper behavior in the face of exceptional situations is important to the reliability of long-running programs. Existing programming language features...

Normalize, transpose, and distribute: An automatic approach for handling nonscalars
Daniel E. Cooke, J. Nelson Rushton, Brad Nemanich, Robert G. Watson, Per Andersen
Article No.: 9
DOI: 10.1145/1330017.1330020

SequenceL is a concise, high-level language with a simple semantics that provides for the automatic derivation of many iterative and parallel control structures. The semantics repeatedly applies a “Normalize-Transpose-Distribute”...

Dynamic slicing on Java bytecode traces
Tao Wang, Abhik Roychoudhury
Article No.: 10
DOI: 10.1145/1330017.1330021

Dynamic slicing is a well-known technique for program analysis, debugging and understanding. Given a program P and input I, it finds all program statements which directly/indirectly affect the values of some variables' occurrences when...

FeatherTrait: A modest extension of Featherweight Java
Luigi Liquori, Arnaud Spiwack
Article No.: 11
DOI: 10.1145/1330017.1330022

In the context of statically typed, class-based languages, we investigate classes that can be extended with trait composition. A trait is a collection of methods without state; it can be viewed as an incomplete stateless...