Typed intermediate languages and typed assembly languages for optimizing compilers require types to describe stack-allocated data. Previous type systems for stack data were either undecidable or did not treat arguments passed by reference. This paper presents a simple, sound, decidable type system expressive enough to support the Micro-CLI source language, including by-reference arguments. This type system safely expresses operations on aliased stack locations by using singleton pointers and a small subset of linear logic. 1
Today’s type-safe low-level languages rely on garbage collection to recycle heap-allocated objects s...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
A type-based certifying compiler maps source code to ma-chine code and target-level type annotations...
Typed intermediate languages and typed assembly languages for optimizing compilers require types to ...
Typed intermediate languages and typed assembly languages for optimiz-ing compilers require types to...
In previous work, we presented Typed Assembly Language (TAL). TAL is sufficiently expressive to serv...
In previous work, we presented Typed Assembly Language (TAL). TAL is sufficiently expressive to serv...
Compilers for monomorphic languages, such as C and Pascal, take advantage of types to determine data...
Linear type systems allow destructive operations such as object deallocation and imperative updates ...
Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such...
In high-level programming languages, programmers do not need to worry about certain implementation d...
When compiling a high level language like Java, Lisp or Smalltalk, the implementation of primitive d...
Work on the TILT compiler for Standard ML led us to study a language with singleton kinds: S(A) is t...
Conventional approaches to compiler correctness, type safety and type preservation have focused on o...
It is frequently needed to compile stack-machine codes into register-machine codes. One important op...
Today’s type-safe low-level languages rely on garbage collection to recycle heap-allocated objects s...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
A type-based certifying compiler maps source code to ma-chine code and target-level type annotations...
Typed intermediate languages and typed assembly languages for optimizing compilers require types to ...
Typed intermediate languages and typed assembly languages for optimiz-ing compilers require types to...
In previous work, we presented Typed Assembly Language (TAL). TAL is sufficiently expressive to serv...
In previous work, we presented Typed Assembly Language (TAL). TAL is sufficiently expressive to serv...
Compilers for monomorphic languages, such as C and Pascal, take advantage of types to determine data...
Linear type systems allow destructive operations such as object deallocation and imperative updates ...
Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such...
In high-level programming languages, programmers do not need to worry about certain implementation d...
When compiling a high level language like Java, Lisp or Smalltalk, the implementation of primitive d...
Work on the TILT compiler for Standard ML led us to study a language with singleton kinds: S(A) is t...
Conventional approaches to compiler correctness, type safety and type preservation have focused on o...
It is frequently needed to compile stack-machine codes into register-machine codes. One important op...
Today’s type-safe low-level languages rely on garbage collection to recycle heap-allocated objects s...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
A type-based certifying compiler maps source code to ma-chine code and target-level type annotations...