Select Page

PL Perspectives

Perspectives on computing and technology from and for those with an interest in programming languages.
Response to Change in the ASPLOS Conference Submission Process

Response to Change in the ASPLOS Conference Submission Process

Read more...

Provably Space-Efficient Parallel Functional Programming

Provably Space-Efficient Parallel Functional Programming

You have heard your grandmother tell you many times: parallel programming is hard. In 2022, does it still have to be? Back in grandma’s heyday, they knew a cool and breezy way to do parallelism: pure functional programming. They knew that pure functions are parallel by default, being free of pesky concurrency bugs and all. But, parallel functional programming remained slow and steady, resisting practical efficiency for decades. This post shows the way towards solving the performance problems of functional programming.

Read more...

A New ASPLOS Conference Submission Process

A New ASPLOS Conference Submission Process

The ASPLOS Steering Committee is considering two changes to the ASPLOS submission process: 1) three submission deadlines spread over the year, and 2) the possibility for papers near acceptance to be revised and resubmitted. This proposal outlines these changes.

Read more...

Undefined Behavior deserves a better reputation

Undefined Behavior deserves a better reputation

“Undefined Behavior” often has a bad reputation. But what, really, is Undefined Behavior, and is it actually that bad?
In this blog post, I will look at this topic from a PL perspective, and argue that Undefined Behavior is a valuable tool in a language designer’s toolbox.

Read more...

High Performance Correctly Rounded Math Libraries for 32-bit Floating Point Representations

High Performance Correctly Rounded Math Libraries for 32-bit Floating Point Representations

Everyone uses math libraries. Surprisingly, mainstream math libraries do not produce correct results for several thousands of inputs. Developers are seldom aware of them, which affects reproducibility and portability. We describe our new method for synthesizing elementary functions that produces correct results for all inputs but is also significantly faster than the state of the art libraries, which have been optimized for decades.

Read more...

Making Software Sandboxing Practical using Language-based Techniques

Making Software Sandboxing Practical using Language-based Techniques

Software sandboxing or software-based fault isolation (SFI) is a lightweight approach to building secure systems out of untrusted components. The idea of SFI is old. Its use in production, to sandbox third-party libraries in Firefox, is new. We describe the PL techniques—notably static information flow control—that were key to deploying SFI in practice and their use in tackling software security more generally.

Read more...