University of Cambridge > Talks.cam > Computer Laboratory Programming Research Group Seminar > Idris --- Systems Programming Meets Full Dependent Types

Idris --- Systems Programming Meets Full Dependent Types

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Dominic Orchard.

Note: Unusual time and date.

Dependent types have emerged in recent years as a promising approach to ensuring program correctness. However, existing dependently typed languages such as Agda and Coq work at a very high level of abstraction, making it difficult to map verified programs to suitably efficient executable code. This is particularly problematic for programs which work with bit level data, e.g. network packet processing, binary file formats or operating system services. Such programs, being fundamental to the operation of computers in general, may stand to benefit significantly from program verification techniques. In this talk, I will describe the use of a dependently typed programming language, Idris, for specifying and verifying properties of low-level systems programs, taking network packet processing as an extended example. I will give an overview of the distinctive features of Idris which allow it to interact with external systems code, with precise types. I will also show how to integrate tactic scripts and plugin decision procedures to reduce the burden of proof on application developers. The ideas are readily adaptable to languages with related type systems.

There is a paper available from http://www.cs.st-andrews.ac.uk/~eb/writings/plpv11.pdf

This talk is part of the Computer Laboratory Programming Research Group Seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2019 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity