Deriving class instances for datatypes (Q7361610)
From MaRDI portal
!
This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use the normal view instead:
AFP entry Deriving
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | Deriving class instances for datatypes |
AFP entry Deriving |
Statements
11 March 2015
0 references
Christian Sternagel
0 references
René Thiemann
0 references
Deriving class instances for datatypes (English)
0 references
We provide a framework for registering automatic methods to derive class instances of datatypes, as it is possible using Haskell's “ deriving Ord, Show, ... ” feature. We further implemented such automatic methods to derive comparators, linear orders, parametrizable equality functions, and hash-functions which are required in the Isabelle Collection Framework and the Container Framework. Moreover, for the tactic of Blanchette to show that a datatype is countable, we implemented a wrapper so that this tactic becomes accessible in our framework. All of the generators are based on the infrastructure that is provided by the BNF-based datatype package. Our formalization was performed as part of the IsaFoR/CeTA project. With our new tactics we could remove several tedious proofs for (conditional) linear orders, and conditional equality operators within IsaFoR and the Container Framework.
0 references