Two fundamental goals in programming are correctness and efficiency: we want our programs to produce the right results, and to do so using as few resources as possible. One of the key benefits of the functional programming paradigm is the ability to reason about programs as if they are pure mathematical functions. In particular, programs can often be proved correct with respect to a specification by exploiting simple algebraic properties akin to secondary school mathematics. On the other hand, program efficiency is not immediately amenable to such algebraic methods used to explore program correctness. This insight manifests as a reasoning gap between program correctness and efficiency, and is a foundational problem in computer science...
We have built several tools to help with testing and verifying functional programs. All three tools ...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
This thesis makes three distinct contributions to software engineering, using typed functional progr...
Two fundamental goals in programming are correctness and efficiency: we want our programs to produce...
We have built several tools to help with testing and verifying functional programs. All three tools ...
Liquid Haskell is an extension to the type system of Haskell that supports formal reasoning about pr...
It is often claimed that functional programming languages, and in particular pure functional langua...
This thesis is about methods for establishing semantic properties of programs and how those methods ...
The functional programming language Haskell is examined from the point of view of proving programs c...
textabstractThe purpose of this book is to teach logic and mathematical reasoning in practice, and ...
This thesis consists of two parts. Both concern reasoning about non-strict functional programming la...
This thesis explores the world of Lambda Calculus, functional programming, which is based on Lambda ...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...
If software code is developed by humans, can we as users rely on its absolute correctness?\ud \ud To...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
We have built several tools to help with testing and verifying functional programs. All three tools ...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
This thesis makes three distinct contributions to software engineering, using typed functional progr...
Two fundamental goals in programming are correctness and efficiency: we want our programs to produce...
We have built several tools to help with testing and verifying functional programs. All three tools ...
Liquid Haskell is an extension to the type system of Haskell that supports formal reasoning about pr...
It is often claimed that functional programming languages, and in particular pure functional langua...
This thesis is about methods for establishing semantic properties of programs and how those methods ...
The functional programming language Haskell is examined from the point of view of proving programs c...
textabstractThe purpose of this book is to teach logic and mathematical reasoning in practice, and ...
This thesis consists of two parts. Both concern reasoning about non-strict functional programming la...
This thesis explores the world of Lambda Calculus, functional programming, which is based on Lambda ...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...
If software code is developed by humans, can we as users rely on its absolute correctness?\ud \ud To...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
We have built several tools to help with testing and verifying functional programs. All three tools ...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
This thesis makes three distinct contributions to software engineering, using typed functional progr...