Boolean constraints for binding-time analysis

Kevin Glynn, Peter J. Stuckey, Martin Sulzmann, Harald Søndergaard

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

12 Citations (Scopus)

Abstract

To achieve acceptable accuracy, many program analyses for functional programs are "property polymorphic". That is, they can infer different input-output relations for a function at separate applications of the function, in a manner similar to type inference for a polymorphic language. We extend a property polymorphic (or "polyvariant") method for binding-time analysis, due to Dussart, Henglein, and Mossin, so that it applies to languages with ML-style type polymorphism. The extension is non-trivial and we have implemented it for Haskell. While we follow others in specifying the analysis as a non-standard type inference, we argue that it should be realised through a translation into the well-understood domain of Boolean constraints. The expressiveness offered by Boolean constraints opens the way for smooth extensions to sophisticated language features and it allows for more accurate analysis.

Original languageEnglish
Title of host publicationPrograms as Data Objects - Second Symposium, PADO 2001, Proceedings
Pages39-62
Number of pages24
Publication statusPublished - 1 Dec 2001
Externally publishedYes
Event2nd Symposium on Programs as Data Objects, PADO 2001 - Aarhus, Denmark
Duration: 21 May 200123 May 2001

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2053 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference2nd Symposium on Programs as Data Objects, PADO 2001
CountryDenmark
CityAarhus
Period21/05/0123/05/01

Cite this

Glynn, K., Stuckey, P. J., Sulzmann, M., & Søndergaard, H. (2001). Boolean constraints for binding-time analysis. In Programs as Data Objects - Second Symposium, PADO 2001, Proceedings (pp. 39-62). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 2053 LNCS).