Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Theorem Proving for Functional Programmers
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Observable Sharing for Functional Circuit Description
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
Faking it Simulating dependent types in Haskell
Journal of Functional Programming
Extending the sparkle core language with object abstraction
Acta Cybernetica
Simple unification-based type inference for GADTs
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Programming language elements for correctness proofs
Acta Cybernetica
The RISC ProofNavigator: a proving assistant for program verification in the classroom
Formal Aspects of Computing
Proving program properties specified with subtype marks
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Epigram: practical programming with dependent types
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
Hi-index | 0.00 |
This article reports about a work-in-progress project that aims at embedding a proof system [4] in the Haskell programming language. The goal of the system is to create formally verified software using the correctness by construction principle. Using Haskell as the host language provides a powerful and flexible environment so that programming language tools can be used to build proofs. The main contribution of this paper is the systematic analysis of different techniques for language embedding. We present design decisions by pointing out which techniques are applicable and which ones are inappropriate or inconvenient to use when embedding a proof system like the our one. We also point out the advantages of the embedding compared to a previous implementation of the same system.