N Oury, W Swierstra - Proceedings of the 13th ACM SIGPLAN …, 2008 - dl.acm.org
This paper exhibits the power of programming with dependent types by dint of embedding three domain-specific languages: Cryptol, a language for cryptographic protocols; a small …
It can be very difficult to debug impure code, let alone prove its correctness. To address these problems, we provide a functional specification of three central components of Peyton …
Equational reasoning is one of the key features of pure functional languages such as Haskell. To date, however, such reasoning always took place externally to Haskell, either …
NA Danielsson - Types for Proofs and Programs: International Workshop …, 2007 - Springer
It is demonstrated how a dependently typed lambda calculus (a logical framework) can be formalised inside a language with inductive-recursive families. The formalisation does not …
P Bahr, G Hutton - Journal of Functional Programming, 2015 - cambridge.org
In this article, we present a new approach to the problem of calculating compilers. In particular, we develop a simple but general technique that allows us to derive correct …
In this paper we demonstrate how to prove the correctness of systems implemented using low-level imperative features like pointers, files, and socket I/O with respect to high level I/O …
This dissertation is about effects and type theory. Functional programming languages such as Haskell illustrate how to encapsulate side effects using monads. Haskell compilers …
To avoid compilation errors it is desirable to verify that a compiler is type correct—ie, given well-typed source code, it always outputs well-typed target code. This can be done …
E Brady, K Hammond - Proceedings of the 5th international conference …, 2006 - dl.acm.org
Dependent types and multi-stage programming have both been used, separately, in programming language design and implementation. Each technique has its own …