Abstract —Those programming languages that contain self-interpreters have the added power of reflection, and allow dynam-ically controlling execution. In a logical language a complete self-interpreter is necessarily inconsistent. However, we demonstrate a logical language with a reasonably complete self-interpreter. We argue for its use as a simple formalism for reasoning about partial terms, and functional languages that allow both general recursion and dependent types. Since refinements of programming specifications often include partial terms, they need to be handled using formal rules. Likewise, we show formal rules for handling general recursion consistently in a simple language. Moreover, we demonstrate how to use an interpreter to re...
We demonstrate how a specification for the standard evaluation of a simple functional programming la...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
Abstract A typed program logic LMF for recursive specification and veri-fication is presented. It co...
Logic for reasoning about programs must proceed from the programming language semantics. It is our t...
Functional programmers often reason about programs as if they were written in a total language, expe...
ABSTRACT. In this paper we would like to present a very short self-interpreter, based on a simplisti...
This thesis consists of two parts. Both concern reasoning about non-strict functional programming la...
Programmers don't just have to write programs, they are have to reason about them. Programming langu...
AbstractWe show the adequacy of axioms and proof rules for strict and lazy functional programs. Our ...
The functional and logic programming research communities are to a signif-icant extent solving the s...
We examine the problem of finding fully abstract translations between programming languages, i.e., t...
We examine the problem of finding fully abstract translations between programming languages, i.e., t...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
Self-interpreters can be roughly divided into two sorts: self-recog-nisers that recover the input pr...
We demonstrate how a specification for the standard evaluation of a simple functional programming la...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Computational problems that involve dynamic data, such as physics simulations and program developmen...
Abstract A typed program logic LMF for recursive specification and veri-fication is presented. It co...
Logic for reasoning about programs must proceed from the programming language semantics. It is our t...
Functional programmers often reason about programs as if they were written in a total language, expe...
ABSTRACT. In this paper we would like to present a very short self-interpreter, based on a simplisti...
This thesis consists of two parts. Both concern reasoning about non-strict functional programming la...
Programmers don't just have to write programs, they are have to reason about them. Programming langu...
AbstractWe show the adequacy of axioms and proof rules for strict and lazy functional programs. Our ...
The functional and logic programming research communities are to a signif-icant extent solving the s...
We examine the problem of finding fully abstract translations between programming languages, i.e., t...
We examine the problem of finding fully abstract translations between programming languages, i.e., t...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
Self-interpreters can be roughly divided into two sorts: self-recog-nisers that recover the input pr...
We demonstrate how a specification for the standard evaluation of a simple functional programming la...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Computational problems that involve dynamic data, such as physics simulations and program developmen...