Strongly Typed Libraries for Programs and Proofs

Our long-term goal is to create systems (theories, programming languages, libraries and tools) which make it easy to develop reusable software components with matching specifications. In this research project, the main focus is on libraries.
Strongly-typed programming languages allow to express functional specifications as types. Checking the types of a program then means checking it against its specification.
Within such powerful programming languages, libraries are not only building blocks of programs, but also of proofs. We believe that such libraries will eventually become the main means of developing programs, and because they come with strong types, the programs built using the library will come with strong properties that will make the whole easy to prove correct.
The production of such libraries will also inform the design of future strongly-typed programming languages. In the recent years, strongly-typed programming languages have started to become usable, but remain confined to a small niche. Our libraries will make them a viable solution for a broader range of applications, bringing higher guarantees of correctness to a wider user base.
To check the applicability of our libraries, we will apply them to classical problems of computer programming, such as certain divide-and-conquer algorithms or optimisation problems, as well as to the construction of tools supporting dependently-typed programming themselves.

Participants

Patrik Jansson (contact)

at Computer Science and Engineering, Software Technology (Chalmers)

Jean-Philippe Bernardy

Forskarassistent at Computer Science and Engineering, Software Technology (Chalmers)

Cezar Ionescu

at Computer Science and Engineering, Software Technology (Chalmers)

Funding

Swedish Research Council (VR)

Funding years 2012–2015

Related Areas of Advance and Infrastructure

Information and Communication Technology

Area of Advance

Basic Sciences

Chalmers Roots

More information

Latest update

2016-05-12