Select Page

PL Perspectives

Perspectives on computing and technology from and for those with an interest in programming languages.
Think Globally, Discuss PL Locally

Think Globally, Discuss PL Locally

Read more...

The Reserve Reviewer Policy

The Reserve Reviewer Policy

The Reserve Reviewer Policy is an experimental policy to help conferences scale to increased workloads. We outline its design and first implementation.

Read more...

AI Models Need a Virtual Machine

AI Models Need a Virtual Machine

Neural networks are more useful when placed in a suitable, specialized environment.

Read more...

How to Give a Good Talk

How to Give a Good Talk

Read more...

Testing AI Software Isn’t Like Testing Plain Old Software

Testing AI Software Isn’t Like Testing Plain Old Software

AI software demands new approaches to testing that go far beyond existing software testing methodologies. And with the rapid evolution of AI model capabilities, the need for the software engineering community to innovate new approaches to AI software testing is urgent.

Read more...

Parametric Subtyping for Structural Parametric Polymorphism

Parametric Subtyping for Structural Parametric Polymorphism

Recursive types, generics (sometimes called parametric polymorphism), and subtyping are all essential features for modern programming languages across numerous paradigms. However, structural subtyping is undecidable in the presence of recursive types and generics. In our POPL 2024 paper and its accompanying implementation, we propose a reconstruction of the interaction between recursive types, generics, and structural subtyping from first principles. We present a notion of parametricity for type constructors that forms the basis of a suitable, decidable fragment of structural subtyping, which we call parametric subtyping.

Read more...

The Missing Mentoring Pillar

The Missing Mentoring Pillar

Read more...

Evaluating Human Factors Beyond Lines of Code

Evaluating Human Factors Beyond Lines of Code

Software systems researchers want to make human-centered claims, but don’t have the proper tools to do so. That’s how we ended up with the ubiquitous lines-of-code comparison found in evaluation sections everywhere. In this post, I explore: what can we reasonably expect researchers to do that’s higher quality than LOC but less effort than a full-blown user study?

Read more...