Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Abstracting definitional interpreters (functional pearl)

View through CrossRef
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.
Title: Abstracting definitional interpreters (functional pearl)
Description:
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.

Related Results

Interpreters in Our Midst
Interpreters in Our Midst
When deaf people work in professional environments and participate in public events, we are often accompanied by sign language interpreters. This usually means wonderfully enhanced...
Nutritional, physico-chemical and sensory characteristics of a pearl millet-based instant beverage powder
Nutritional, physico-chemical and sensory characteristics of a pearl millet-based instant beverage powder
A pearl millet (Pennisetum glaucum) based instant beverage powder (PMIBP) was prepared from two different varieties of pearl millet (Agrigreen (AgG) and Babala (Ba)) by a combinati...
Interpreting Impoliteness: Interpreters’ Voices
Interpreting Impoliteness: Interpreters’ Voices
Interpreters in the public sector in Norway interpret in a variety of institutional encounters, and the interpreters evaluate the majority of these encounters as polite. However, s...
Evaluating Intercropping Limitations of Cowpea (Vignaunguiculata L.), Pearl Millet (Pennisetumglaucum L.), and Maize (Zea Mays L.)
Evaluating Intercropping Limitations of Cowpea (Vignaunguiculata L.), Pearl Millet (Pennisetumglaucum L.), and Maize (Zea Mays L.)
Fodder scarcity is a main problem in boosting of livestock sector. Hypothesis was made in order to increase fodder yield per unit of land by intercropping of cowpeas, pearl millet ...
Sustaining the Pearl River: Problems, Chanllenges, and Opportunities
Sustaining the Pearl River: Problems, Chanllenges, and Opportunities
The Pearl River is a large water system, which is the second largest river (in terms of mean annual water discharge) in China. The Pearl River Basin consists of three major rivers,...
Interpretive Communities: Estonia’s Case Study
Interpretive Communities: Estonia’s Case Study
This paper discusses Stanley Fish’s notion of interpretive communities, based on interviews conducted with interpreters who operated in Estonia from 1944 to 1991 while Estonia was ...
A proposal to teach medical students how to use interpreters
A proposal to teach medical students how to use interpreters
Abstract Introduction Medical interpreters are crucial to ensure fair and high-quality healthcare for patients with limited English proficiency (LEP...

Back to Top