Types and programming languages
Types and programming languages
System F with type equality coercions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Efficient execution in an automated reasoning environment
Journal of Functional Programming
seL4: formal verification of an OS kernel
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
The heterogeneous tool set, HETS
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Constructive type classes in Isabelle
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Partial recursive functions in higher-order logic
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
xmonad in Coq (experience report): programming a window manager in a proof assistant
Proceedings of the 2012 Haskell Symposium
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Stateless higher-order logic with quantified types
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
We present two tools which together allow reasoning about (a substantial subset of) Haskell programs. One is the code generator of the proof assistant Isabelle, which turns specifications formulated in Isabelle's higher-order logic into executable Haskell source text; the other is Haskabelle, a tool to translate programs written in Haskell into Isabelle specifications. The translation from Isabelle to Haskell directly benefits from the rigorous correctness approach of a proof assistant: generated Haskell programs are always partially correct w.r.t. to the specification from which they are generated.