Abstract. In this paper, we describe the key principles of a dependent type system for low-level imperative languages. The major contributions of this work are (1) a sound type system that combines dependent types and mutation for variables and for heap-allocated structures in a more flexible way than before and (2) a technique for automatically inferring dependent types for local variables. We have applied these general principles to design Deputy, a dependent type system for C that allows the user to describe bounded pointers and tagged unions. Deputy has been used to annotate and check a number of real-world C programs.
. A constraint-based method for deriving type declarations from program statements is described. The...
Dependently typed programming languages allow sophisticated properties of data to be expressed withi...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
Abstract. Dependent types are useful for statically checking detailed specifications of programs and...
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is ...
Dependent type systems allow for a rich set of program properties to be expressed and mechanically v...
Modern programming languages rely on advanced type systems that detect errors at compile-time. While...
Systems programming languages facilitate the implementation of software that runs in restricted envi...
We present a simple type-checker for a language with dependent types and let expressions, with a sim...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
Dependently typed programming languages allow sophisticated properties ofdata to be expressed within...
Dependently typed programming languages provide a way to write programs, specifications, and correct...
Theoretical thesis.Bibliography: pages 59-60.1. Introduction -- 2. Background -- 3. Type systems -- ...
Abstract. In our approach we consider programming as logical reasoning over type theory of a given s...
. A constraint-based method for deriving type declarations from program statements is described. The...
Dependently typed programming languages allow sophisticated properties of data to be expressed withi...
This thesis studies questions of type inference, unification and elaboration for languages that comb...
Abstract. Dependent types are useful for statically checking detailed specifications of programs and...
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is ...
Dependent type systems allow for a rich set of program properties to be expressed and mechanically v...
Modern programming languages rely on advanced type systems that detect errors at compile-time. While...
Systems programming languages facilitate the implementation of software that runs in restricted envi...
We present a simple type-checker for a language with dependent types and let expressions, with a sim...
In these lecture notes we give an introduction to functional programming with dependent types. We us...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
Dependently typed programming languages allow sophisticated properties ofdata to be expressed within...
Dependently typed programming languages provide a way to write programs, specifications, and correct...
Theoretical thesis.Bibliography: pages 59-60.1. Introduction -- 2. Background -- 3. Type systems -- ...
Abstract. In our approach we consider programming as logical reasoning over type theory of a given s...
. A constraint-based method for deriving type declarations from program statements is described. The...
Dependently typed programming languages allow sophisticated properties of data to be expressed withi...
This thesis studies questions of type inference, unification and elaboration for languages that comb...