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
In the pure functional language Haskell, nearly all side-effects that a function can produce have to...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
The functional programming language Haskell is examined from the point of view of proving programs c...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
The importance of reasoning about and refactoring programs is a central tenet of functional programm...
The importance of reasoning about and refactoring programs is a central tenet of functional programm...
It is difficult to write programs which are both correct and fast. A promising approach, functional ...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
This paper describes our experience using the HERMIT tool- kit to apply well-known transformations ...
There is often a trade-off between the clarity and efficiency of a program. Useful to transform a cl...
Equational reasoning based verification address some of the limitations of classical testing. The Cu...
There is often a trade-off between the clarity and efficiency of a program. Useful to transform a cl...
Abstract. This paper describes our experience using the HERMIT tool-kit to apply well-known transfor...
The structured approach to argumentation has seen a surge of models, introducing a multitude of ways...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
In the pure functional language Haskell, nearly all side-effects that a function can produce have to...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
The functional programming language Haskell is examined from the point of view of proving programs c...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
The importance of reasoning about and refactoring programs is a central tenet of functional programm...
The importance of reasoning about and refactoring programs is a central tenet of functional programm...
It is difficult to write programs which are both correct and fast. A promising approach, functional ...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
This paper describes our experience using the HERMIT tool- kit to apply well-known transformations ...
There is often a trade-off between the clarity and efficiency of a program. Useful to transform a cl...
Equational reasoning based verification address some of the limitations of classical testing. The Cu...
There is often a trade-off between the clarity and efficiency of a program. Useful to transform a cl...
Abstract. This paper describes our experience using the HERMIT tool-kit to apply well-known transfor...
The structured approach to argumentation has seen a surge of models, introducing a multitude of ways...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
In the pure functional language Haskell, nearly all side-effects that a function can produce have to...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
The functional programming language Haskell is examined from the point of view of proving programs c...