Affiliation:
1. University of Kansas, USA
2. University of Kansas, USA / Swansea University, UK
Abstract
A benefit of pure functional programming is that it encourages equational reasoning. However, the Haskell language has lacked direct tool support for such reasoning. Consequently, reasoning about Haskell programs is either performed manually, or in another language that does provide tool support (e.g. Agda or Coq). HERMIT is a Haskell-specific toolkit designed to support equational reasoning and user-guided program transformation, and to do so as part of the GHC compilation pipeline. This paper describes HERMIT's recently developed support for equational reasoning, and presents two case studies of HERMIT usage: checking that type-class laws hold for specific instance declarations, and mechanising textbook equational reasoning.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Checking equivalence in a non-strict language;Proceedings of the ACM on Programming Languages;2022-10-31
2. Verifying replicated data types with typeclass refinements in Liquid Haskell;Proceedings of the ACM on Programming Languages;2020-11-13
3. Proving Type Class Laws for Haskell;Lecture Notes in Computer Science;2019
4. Threading the Arduino with Haskell;Lecture Notes in Computer Science;2019