Typed intermediate languages and typed assembly languages for optimiz-ing 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, includ-ing by-reference arguments. This type system safely expresses operations on aliased stack locations by using singleton pointers and a small subset of linear logic
A type system with linearity is useful for checking software protocols and resource management at co...
Today’s type-safe low-level languages rely on garbage collection to recycle heap-allocated objects s...
A linear reference is a reference guaranteed to be unaliased. Thisis a powerful property that simpli...
Typed intermediate languages and typed assembly languages for optimizing compilers require types to ...
Linear type systems allow destructive operations such as object deallocation and imperative updates ...
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...
Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such...
When compiling a high level language like Java, Lisp or Smalltalk, the implementation of primitive d...
Conventional approaches to compiler correctness, type safety and type preservation have focused on o...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
In high-level programming languages, programmers do not need to worry about certain implementation d...
A definitional interpreter is an interpreter which uses the semantics of its own host language to de...
Work on the TILT compiler for Standard ML led us to study a language with singleton kinds: S(A) is t...
A type system with linearity is useful for checking software protocols and resource management at co...
Today’s type-safe low-level languages rely on garbage collection to recycle heap-allocated objects s...
A linear reference is a reference guaranteed to be unaliased. Thisis a powerful property that simpli...
Typed intermediate languages and typed assembly languages for optimizing compilers require types to ...
Linear type systems allow destructive operations such as object deallocation and imperative updates ...
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...
Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such...
When compiling a high level language like Java, Lisp or Smalltalk, the implementation of primitive d...
Conventional approaches to compiler correctness, type safety and type preservation have focused on o...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
In high-level programming languages, programmers do not need to worry about certain implementation d...
A definitional interpreter is an interpreter which uses the semantics of its own host language to de...
Work on the TILT compiler for Standard ML led us to study a language with singleton kinds: S(A) is t...
A type system with linearity is useful for checking software protocols and resource management at co...
Today’s type-safe low-level languages rely on garbage collection to recycle heap-allocated objects s...
A linear reference is a reference guaranteed to be unaliased. Thisis a powerful property that simpli...