Select Page

PL Perspectives

Perspectives on computing and technology from and for those with an interest in programming languages.
One Polynomial Approximation to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes

One Polynomial Approximation to Produce Correctly Rounded Results for Multiple Representations and Rounding Modes

To create a single polynomial approximation that produces correct results for multiple representations and rounding modes,  we propose to generate a polynomial that generates the correctly rounded result of f(x) using the non-standard round-to-odd rounding mode with 2 additional precision bits compared to the largest floating point representation that we wish to support.  We provide a proof that this method produces correctly rounded results for multiple representations and for all the standard rounding modes. More detailed explanation of our approach can be found in our POPL 2022 distinguished paper.

Read more...

Improving gender balance in academia, a computer scientist’s suggestion of where to start (part 2 of 2)

Improving gender balance in academia, a computer scientist’s suggestion of where to start (part 2 of 2)

We all need to step up and start working to improve gender equality in computer science and engineering. This is the second of two blog posts about this fascinating and frustrating problem, in which I provide three suggestions for how to get started.

Read more...

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...

Bad Reasons to Reject Good Papers, and vice versa

Bad Reasons to Reject Good Papers, and vice versa

Peer review is an essential aspect of academic research, giving a feedback loop that stimulates and rewards high-quality work – but as we all know, it doesn’t always function well. To help maintain a consensus of what constitutes good reviewing, this note spells out some bad and good reasons to reject and accept papers.

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...

When Compiler Optimization Meets Binary Code Difference

When Compiler Optimization Meets Binary Code Difference

How does compiler optimization affect binary code differences? In this work, we perform a systematic study using search-based iterative compilation. We have built an auto-tuning framework called BinTuner that iteratively compiles to adjust the differences in binary code. Our results demonstrate the effect of modern compiler optimization on binary code difference has been swept under the carpet for a long time. We wish our study can help the research community redesign the optimization-resistance experiments and evaluate the compiler-agnostic capability.

Read more...