Efficient data representation in polymorphic languages

Abstract : Languages with polymorphic types (e.g. ML) have traditionally been implemented using Lisp-like data representations—everything has to fit in one word, if necessary by being heap-allocated and handled through a pointer. The reason is that, in contrast with conventional statically-typed languages such as Pascal, it is not possible to assign one unique type to each expression at compile-time, an absolute requirement for using more efficient representations (e.g. unallocated multi-word values). In this paper, we show how to take advantage of the static polymorphic typing to mix correctly two styles of data representation in the implementation of a polymorphic language: specialized, efficient representations are used when types are fully known at compile-time; uniform, Lisp-like representations are used otherwise.
Document type :
Conference papers
Complete list of metadatas

Cited literature [12 references]  Display  Hide  Download

https://hal.inria.fr/hal-01499983
Contributor : Xavier Leroy <>
Submitted on : Saturday, April 1, 2017 - 8:24:31 PM
Last modification on : Thursday, April 26, 2018 - 10:28:51 AM
Long-term archiving on : Sunday, July 2, 2017 - 12:56:11 PM

File

data-representation-plilp.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Xavier Leroy. Efficient data representation in polymorphic languages. PLILP 1990: Programming Language Implementation and Logic Programming, Aug 1990, Linköping, Sweden. ⟨10.1007/BFb0024189⟩. ⟨hal-01499983⟩

Share

Metrics

Record views

325

Files downloads

105