1999
DOI: 10.1145/319301.319345
|View full text |Cite
|
Sign up to set email alerts
|

From system F to typed assembly language

Abstract: We motivate the design of a typed assembly language (TAL) and present a type-preserving translation from System F to TAL. The typed assembly language we present is based on a conventional RISC assembly language, but its static type system provides support for enforcing high-level language abstractions, such as closures, tuples, and user-defined abstract data types. The type system ensures that well-typed programs cannot violate these abstractions. In addition, the typing constructs admit many low-level compile… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
256
0

Year Published

1999
1999
2005
2005

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 452 publications
(257 citation statements)
references
References 21 publications
1
256
0
Order By: Relevance
“…A type system for a first-order functional language defines when the reuse of heap cells due to such type annotations is guaranteed not to alter the behaviour of the program. Inspired by this work and by Typed Assembly Language of Morrisett et al [12], Aspinall and Campagnoni [1] have defined heap-bounded assembly language, a byte code language equipped with specific pseudo-instructions for passing information about the heap structure to the type system. The type system use linearity constraints to guarantee absence of aliasing.…”
Section: Related Workmentioning
confidence: 99%
“…A type system for a first-order functional language defines when the reuse of heap cells due to such type annotations is guaranteed not to alter the behaviour of the program. Inspired by this work and by Typed Assembly Language of Morrisett et al [12], Aspinall and Campagnoni [1] have defined heap-bounded assembly language, a byte code language equipped with specific pseudo-instructions for passing information about the heap structure to the type system. The type system use linearity constraints to guarantee absence of aliasing.…”
Section: Related Workmentioning
confidence: 99%
“…The approaches taken in these projects range from statically identifying common programming errors, to statically ensuring type safety, to the run-time checking of certain security properties. The projects that are closest to ours are Proof-Carrying Code (PCC) [32], the Touchstone Certifying Compiler [31] and TypedAssembly Language (TAL) [25,26,28]. Proof-Carrying Code (PCC) has a code producer generate not only the code but also a proof that the code is safe.…”
Section: Related Workmentioning
confidence: 99%
“…Morrisett et al [25,26,28] introduced the notion of typed assembly language (TAL). In their approach, type information from a high-level program is incorporated into the representation of the program in a platform-independent typed intermediate form, and carried through a series of transformations down to the level of the target code.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…[9] typically have problems with (1), (2), (3), and (5). Traditional program logics, including Hoare Logic [4] and Separation Logic [16] often fail on (4), as explained in [12].…”
Section: Introductionmentioning
confidence: 99%