Compilation method for ML-style polymorphic record calculi

Atsushi Ohori

研究成果: Conference contribution

35 被引用数 (Scopus)

抄録

Polymorphic record calculi have recently attracted much attention as a typed foundation for object-oriented programming. This is based on the fact that a function that selects a field l of a record can be given a polymorphic type that enables it to be applied to various records containing a field l. Recent studies have established techniques to develop an ML-style type inference algorithm for such a polymorphic type system. There seems to be, however, no established method to compile an ML-style polymorphic record calculus into efficient code. The purpose of this paper is to present one such method. We define a polymorphic record calculus as an extension of Damas and Milner's proof system for ML. For this calculus, we define an implementation calculus where records are represented as arrays of (references to) values and field selection is performed by direct indexing. To represent polymorphic field selection, the implementation calculus contains an abstraction mechanism over indexes. We then develop an algorithm to translate the polymorphic record calculus into the implementation calculus by refining a type inference algorithm; it simultaneously computes a principal type scheme in the polymorphic record calculus and a correct implementation term in the implementation calculus. The type inference is shown to be sound and complete in the sense of Damas-Milner's algorithm for ML. Moreover, the polymorphic type system is shown to be sound with respect to an operational semantics of the translated terms in the implementation calculus.

本文言語English
ホスト出版物のタイトルConference Record of the Annual ACM Symposium on Principles of Programming Languages
編集者 Anon
出版社Publ by ACM
ページ154-165
ページ数12
ISBN(印刷版)0897914538
出版ステータスPublished - 1992 12月 1
外部発表はい
イベント19th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - Albuquerque, NM, USA
継続期間: 1992 1月 191992 1月 22

出版物シリーズ

名前Conference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN(印刷版)0730-8566

Other

Other19th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
CityAlbuquerque, NM, USA
Period92/1/1992/1/22

ASJC Scopus subject areas

  • ソフトウェア

フィンガープリント

「Compilation method for ML-style polymorphic record calculi」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル