Abstracting Definitional Interpreters episode artwork

EPISODE · Dec 13, 2017 · 19 MIN

Abstracting Definitional Interpreters

from International Conference on Functional Programming 2017

David Darais, University of Maryland, USA, gives the first presentation in the fourth panel, Effects, in the ICFP 2017 conference. Co-written by Nicholas Labich, David Van Horn, Phuc C. Nguyen, University of Maryland, USA. In this functional pearl, we examine the use of definitional interpreters as a basis for abstract interpretation of higher-order programming languages. As it turns out, definitional interpreters, especially those written in monadic style, can provide a nice basis for a wide variety of collecting semantics, abstract interpretations, symbolic executions, and their intermixings. But the real insight of this story is a replaying of an insight from Reynold's landmark paper, Definitional Interpreters for Higher-Order Programming Languages, in which he observes definitional interpreters enable the defined-language to inherit properties of the defining-language. We show the same holds true for definitional abstract interpreters. Remarkably, we observe that abstract definitional interpreters can inherit the so-called 'pushdown control flow' property, wherein function calls and returns are precisely matched in the abstract semantics, simply by virtue of the function call mechanism of the defining-language. The first approaches to achieve this property for higher-order languages appeared within the last ten years, and have since been the subject of many papers. These approaches start from a state-machine semantics and uniformly involve significant technical engineering to recover the precision of pushdown control flow. In contrast, starting from a definitional interpreter, the pushdown control flow property is inherent in the meta-language and requires no further technical mechanism to achieve.

Episode metadata supplied by the publisher feed · Published Dec 13, 2017

Embed this episode

NOW PLAYING

Abstracting Definitional Interpreters

0:00 19:06

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of International Conference on Functional Programming 2017?

This episode is 19 minutes long.

When was this International Conference on Functional Programming 2017 episode published?

This episode was published on December 13, 2017.

Can I download this International Conference on Functional Programming 2017 episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!