Select Page

PL Perspectives

Perspectives on computing and technology from and for those with an interest in programming languages.
PLDI will join PACMPL

PLDI will join PACMPL

Starting with PLDI 2023, the proceedings of PLDI will be published in the PACMPL journal. Read about the community survey that informed the PLDI Steering Committee before they voted for this change.

Read more...

People of PL: Special Mentoring Edition

People of PL: Special Mentoring Edition

SIGPLAN-M is SIGPLAN’s international long-term mentoring program. Initiated in late 2020 by Talia Ringer, it now has over 200 mentors and over 300 mentees. Everybody in the community — from aspiring undergraduate to experienced faculty — is welcome to take part either as a mentor or as a mentee (or both). For this edition of People of PL, John Wickerson met three of SIGPLAN-M’s mentors to find out about their experiences.

Read more...

Survey: Should PLDI join PACM-PL?

Survey: Should PLDI join PACM-PL?

Should the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) publish its proceedings in the Proceedings of the ACM on Programming Languages (PACM-PL) journal? Please fill out this short survey to help us decide.

Read more...

Language Design in the Real World

Language Design in the Real World

Real programming languages are living things, changing and evolving. As with any production code, most of their designer’s time is spent on bug fixing and small improvements, rather than on the radical new features. One of the unique things about Kotlin is that it has been evolving in the use-case and community-driven fashion for years, starting way before it went to the stable 1.0 release in 2016, even for some time before it went public in 2011. Language design in the real world is a maintenance of a complex system and it runs into novel research questions with respect to type systems, feature interactions, usability, real-life code patterns in big code, etc.

Read more...

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