We show how programming language semantics and definitions of their corresponding type systems can both be written in a single framework amenable to proofs of soundness. The framework is based on full rewriting logic (not to be confused with context reduction or term rewriting), where rules can match anywhere in a term (or configuration). We present an extension of the syntactic approach to proving type system soundness presented by Wright and Felleisen [1994] that works in the above described semantics-based domain. As before, the properties of preservation and progress are crucial. We use an abstraction function to relate semantic configurations in the language domain to semantic configurations in the type domain, and then proceed to u...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
Linear typing schemes can be used to guarantee non-interference and so the soundness of in-place upd...
Since the 1990s, scripting languages (e.g. Python, Ruby, JavaScript, and many others) have gained wi...
We show how programming language semantics and definitions of their corresponding type systems can b...
Meseguer and Rosu proposed rewriting logic semantics (RLS) as a programming language definitional fr...
Type systems for static programming languages are supposed to ensure the absence of type errors in c...
AbstractThe aim of this work is largely a practical one. A widely employed style of programming, par...
AbstractWe study how the type theory Fω can be adequately represented in the meta-logical framework ...
Type systems for programming languages shall detect type errors in programs before runtime. To ensur...
We describe a derivational approach to proving the equivalence of different representations of a typ...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
Specification languages serve a fundamentally different purpose than general-purpose programming lan...
Dedicated to the memory of Ole-Johan Dahl Abstract. The logical and operational aspects of rewriting...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
Linear typing schemes can be used to guarantee non-interference and so the soundness of in-place upd...
Since the 1990s, scripting languages (e.g. Python, Ruby, JavaScript, and many others) have gained wi...
We show how programming language semantics and definitions of their corresponding type systems can b...
Meseguer and Rosu proposed rewriting logic semantics (RLS) as a programming language definitional fr...
Type systems for static programming languages are supposed to ensure the absence of type errors in c...
AbstractThe aim of this work is largely a practical one. A widely employed style of programming, par...
AbstractWe study how the type theory Fω can be adequately represented in the meta-logical framework ...
Type systems for programming languages shall detect type errors in programs before runtime. To ensur...
We describe a derivational approach to proving the equivalence of different representations of a typ...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
Specification languages serve a fundamentally different purpose than general-purpose programming lan...
Dedicated to the memory of Ole-Johan Dahl Abstract. The logical and operational aspects of rewriting...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
The correct definition and implementation of non-trivial type systems is difficult and requires expe...
Linear typing schemes can be used to guarantee non-interference and so the soundness of in-place upd...
Since the 1990s, scripting languages (e.g. Python, Ruby, JavaScript, and many others) have gained wi...