MoL-2015-06: Applying Types as Abstract Interpretation to a Language with Dynamic Dispatch

MoL-2015-06: Emerich, Johannes (2015) Applying Types as Abstract Interpretation to a Language with Dynamic Dispatch. [Report]

[thumbnail of Full Text]
Text (Full Text)

Download (627kB) | Preview
[thumbnail of Abstract] Text (Abstract)

Download (1kB)


We are concerned with an application of the "types as Abstract Interpretation" perspective of [Cousot 97] to the problem of typing overloaded operator symbols in a simple applicative language with dynamic dispatch. We begin by a development of abstract semantics, or type systems, for \lambda_C, a language without overloading. The distinction between parametric and ad-hoc type polymorphism is then introduced, where a particular challenge arising from the ad-hoc variant is stressed. \lambda_K, an extension of \lambda_C with support for overloading definitions at the user level serves to illustrate the problem of ad-hoc polymorphism, and is presented together with a type system designed to support some of its forms. To prove soundness of said type system, the abstract interpretation development of type systems for \lambda_C is extended to \lambda_K and the new type system is shown to be a sound abstraction in the sense of [Cousot 97].

Item Type: Report
Report Nr: MoL-2015-06
Series Name: Master of Logic Thesis (MoL) Series
Year: 2015
Uncontrolled Keywords: logic, computation
Subjects: Logic
Date Deposited: 12 Oct 2016 14:38
Last Modified: 12 Oct 2016 14:38

Actions (login required)

View Item View Item