This thesis consists of two parts. Both concern reasoning about non-strict functional programming languages with partial and infinite values and lifted types, including lifted function spaces. The first part is a case study in program verification: We have written a simple parser and a corresponding pretty-printer in Haskell. A natural aim is to prove that the programs are, in some sense, each other's inverses. The presence of partial and infinite values makes this exercise interesting. We have tackled the problem in different ways, and report on the merits of those approaches. More specifically, first a method for testing properties of programs in the presence of partial and infinite values is described. By testing before proving we avoid...
Abstract —Those programming languages that contain self-interpreters have the added power of reflect...
We have built several tools to help with testing and verifying functional programs. All three tools ...
AbstractFinitely typed functional programs are naturally classified by their levels. This syntactic ...
This thesis consists of two parts. Both concern reasoning about non-strict functional programming la...
This work is a case study in program verification: We have written a simple parser and a correspondi...
Abstract. This work is a case study in program verification: We have written a simple parser and a c...
Functional programmers often reason about programs as if they were written in a total language, expe...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
The driving idea of functional programming is to make programming more closely related to mathematic...
AbstractIn this paper we present two non-standard-type inference systems for conjunctive strictness ...
Two fundamental goals in programming are correctness and efficiency: we want our programs to produce...
AbstractWe investigate various equivalence relations between expressions in a first-order functional...
In this chapter we examine ways in which functional programs can be proved correct. For a number of ...
We examine the problem of finding fully abstract translations between programming languages, i.e., t...
Abstract A typed program logic LMF for recursive specification and veri-fication is presented. It co...
Abstract —Those programming languages that contain self-interpreters have the added power of reflect...
We have built several tools to help with testing and verifying functional programs. All three tools ...
AbstractFinitely typed functional programs are naturally classified by their levels. This syntactic ...
This thesis consists of two parts. Both concern reasoning about non-strict functional programming la...
This work is a case study in program verification: We have written a simple parser and a correspondi...
Abstract. This work is a case study in program verification: We have written a simple parser and a c...
Functional programmers often reason about programs as if they were written in a total language, expe...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
The driving idea of functional programming is to make programming more closely related to mathematic...
AbstractIn this paper we present two non-standard-type inference systems for conjunctive strictness ...
Two fundamental goals in programming are correctness and efficiency: we want our programs to produce...
AbstractWe investigate various equivalence relations between expressions in a first-order functional...
In this chapter we examine ways in which functional programs can be proved correct. For a number of ...
We examine the problem of finding fully abstract translations between programming languages, i.e., t...
Abstract A typed program logic LMF for recursive specification and veri-fication is presented. It co...
Abstract —Those programming languages that contain self-interpreters have the added power of reflect...
We have built several tools to help with testing and verifying functional programs. All three tools ...
AbstractFinitely typed functional programs are naturally classified by their levels. This syntactic ...