Unboxed objects and polymorphic typing
Published 1 January 1992Open access
Xavier Leroy
Citations220
Generate an AI Snapshot to get a quick, structured summary of this paper.
Study Snapshot
ObjectiveStudy objective
MethodsResearch methodology
PopulationPopulation studied
Sample sizeSample sizes
OutcomesStudy outcomes here
ResultsStudy results comes here
LimitationsResearch study limitations comes here
A concise AI-generated summary of the paper will appear here once you click Generate AI Snapshot.
TL;DR
A program transformation that allows languages with polymorphic typing to be implemented with unboxed, multi-word data representations with coercions between various representations, based on a typing derivation is presented.
Abstract
International audience
Keywords
Computer Science
Compilers: Principles, Techniques, and Tools
8,137 Citations1986Alfred V. Aho, Ravi Sethi +1 more
This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
The MIT Press eBooksThe Definition of Standard ML
2,411 Citations1997Robin Milner, Robert Harper +2 more
This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers, and the authors have defined their semantic objects in mathematical notation that is completely independent of StandardML.
ACM Computing SurveysOn understanding types, data abstraction, and polymorphism
1,675 Citations1985Luca Cardelli, Peter Wegner
A λ-calculus-based model for type systems that allows us to explore the interaction among the concepts of type, data abstraction, and polymorphism in a simple setting, unencumbered by complexities of production programming languages is developed.
Principal type-schemes for functional programs
1,096 Citations1982Lúıs Damas, Robin Milner
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage.
Programming in Modula-2
609 Citations1985Niklaus Wirth
It is shown here how different types of computations, based on the number of parameters, can be implemented or modified according to the needs of a particular application.
CERN Document Server (European Organization for Nuclear Research)MIPS RISC architecture
552 Citations1988Gerry Kane, Joe Heinrich
RISC Architecture: An Overview, MIPS Processor Architecture Overview, FPU Overview, Floating Point Exceptions, and Instruction Pipeline.
Register allocation by priority-based coloring
219 Citations1984Frederick Chow, John L. Hennessy
The results confirm that, using priority-based coloring, global register allocation can be performed practically and efficiently.
Information and ComputationType inference for polymorphic references
186 Citations1990Mads Tofte
A modified type inference system is presented and it is proved its soundness using operational semantics that it is decidable whether, given an expression e, any type can be inferred for e.
Lecture notes in computer scienceA standard ML compiler
100 Citations1987Andrew W. Appel, David MacQueen
This work describes the first compiler written for Standard ML in Standard ML, a major revision of earlier dialects of the functional language ML that incorporates a number of novel features and techniques.
LISP and Symbolic ComputationRuntime tags aren't necessary
72 Citations1989Andrew W. Appel
Though a form of tag will still be required for user-defined variant records, all other type information can be encoded once—in the program—rather than replicated many times in the data, leading to savings both in space and time.
ACM Transactions on Programming Languages and SystemsAn ad hoc approach to the implementation of polymorphism
63 Citations1991Ron Morrison, Alan Dearle +2 more
A new technique is described which can implement all forms of polymorphism, use a conventional machine architecture and support non-uniform data representations and ensures that any extra cost of implementation applies to polymorphic forms only and allows them to persist over program invocations.
ACM SIGPLAN NoticesRegister allocation by priority-based coloring
57 Citations1984Frederick Chow, John L. Hennessy
The classic problem of global register allocation is treated in a heuristic and practical manner by adopting the notion of priorities in node-coloring.
The Functional Abstract Machine
57 Citations1983Luca Cardelli
The Functional Abstract Machine (Fam) is a stack machine designed to support functional languages on large address space computers which has been optimized to allow very fast function application and the use of true stacks.
Lecture notes in computer scienceCoercive type isomorphism
11 Citations1991Satish R. Thatté
A generalization of ML-style type inference to deal effectively with the problem of interconvertibility relations between objects of “equivalent” types is proposed, and the proposed syntactic constraint is of independent interest as the first known syntactic characterization for a class of unitary theories.
Computer Applications and SoftwareREGISTER ALLOCATION BY PRIORITY-BASED COLORING
8 Citations1991Xianglin Hou
This paper presents a algorithm for the MODULA-2 compiler“Register Allocation by Priority-basedcoloring” in VAX-11/VMS, which enables the process of the spilling problem to run in the linear level, rather than the exponential level.
