Smartest recompilation

Zhong Shao, Andrew W. Appel

Research output: Chapter in Book/Report/Conference proceedingConference contribution

30 Scopus citations

Abstract

To separately compile a program module in traditional statically-typed languages, one has to manually write down an import interface which explicitly specifies all the external symbols referenced in the module. Whenever the definitions of these external symbols are changed, the module has to be recompiled. In this paper, we present an algorithm which can automatically infer the `minimum' import interface for any module in languages based on the Damas-Milner type discipline (e.g., ML). By `minimum', we mean that the interface specifies a set of assumptions (for external symbols) that are just enough to make the module type-check and compile. By compiling each module using its `minimum' import interface, we get a separate compilation method that can achieve the following optimal property: A compilation unit never needs to be recompiled unless its own implementation changes.

Original languageEnglish (US)
Title of host publicationConference Record of the Annual ACM Symposium on Principles of Programming Languages
PublisherPubl by ACM
Pages439-450
Number of pages12
ISBN (Print)0897915607, 9780897915601
DOIs
StatePublished - 1993
Event20th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Charleston, SC, USA
Duration: Jan 10 1993Jan 13 1993

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Other

Other20th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
CityCharleston, SC, USA
Period1/10/931/13/93

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Shao, Z., & Appel, A. W. (1993). Smartest recompilation. In Conference Record of the Annual ACM Symposium on Principles of Programming Languages (pp. 439-450). (Conference Record of the Annual ACM Symposium on Principles of Programming Languages). Publ by ACM. https://doi.org/10.1145/158511.158702