The thesis deals with correctness of a compiler of a simple language featuring exceptions. We present formal semantics, both denotational semantics of a~high-level language and operational semantics of a low-level language for a~simple stack machine. We study the method of stack unwinding and then iteratively, improving upon a naive solution, we present a different method that is structurally recursive and thus suitable for implementation in total dependently typed languages. Finally, we provide an implementation of the compiler in the dependently typed functional programming language Agda, along with a mechanically verifiable proof of adherence of the implementation to the semantics
It has recently become apparent that only by striving for the utmost simplicity in programming langu...
In this Version 2, minor improvements are made to Version 1.An algebraic method is used to study the...
. Starting from a denotational and a term-rewriting based operational semantics (an interpreter) fo...
Exceptions are an important feature of modern programming languages, but their compilation has trad...
Exceptions in programming languages result from the limitations introduced by a realisation compared...
Several recently developed semantics systems automatically generate compilers from denotational desc...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
Most statically typed functional programming languages allow programmers to write partial functions:...
It is suggested that denotational semantic definitions of programming languages should be based on ...
Language designers and implementors have avoided specifying and preserving the meaning of programs t...
Rapport interne.We study an idealized programming language (lambda-exn) that features a static varia...
We formally prove the stackability and linearity of exception handlers of ML-style semantics using a...
A laudable trend of the past two decades has been the increased use of denotational semantics to gui...
In this paper we present the first exception analysis for a non-strict language. We augment a simply...
AbstractIn a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the laz...
It has recently become apparent that only by striving for the utmost simplicity in programming langu...
In this Version 2, minor improvements are made to Version 1.An algebraic method is used to study the...
. Starting from a denotational and a term-rewriting based operational semantics (an interpreter) fo...
Exceptions are an important feature of modern programming languages, but their compilation has trad...
Exceptions in programming languages result from the limitations introduced by a realisation compared...
Several recently developed semantics systems automatically generate compilers from denotational desc...
Some modern superscalar microprocessors provide only imprecise exceptions. That is, they do not guar...
Most statically typed functional programming languages allow programmers to write partial functions:...
It is suggested that denotational semantic definitions of programming languages should be based on ...
Language designers and implementors have avoided specifying and preserving the meaning of programs t...
Rapport interne.We study an idealized programming language (lambda-exn) that features a static varia...
We formally prove the stackability and linearity of exception handlers of ML-style semantics using a...
A laudable trend of the past two decades has been the increased use of denotational semantics to gui...
In this paper we present the first exception analysis for a non-strict language. We augment a simply...
AbstractIn a recent paper, Peyton Jones et al. proposed a design for imprecise exceptions in the laz...
It has recently become apparent that only by striving for the utmost simplicity in programming langu...
In this Version 2, minor improvements are made to Version 1.An algebraic method is used to study the...
. Starting from a denotational and a term-rewriting based operational semantics (an interpreter) fo...