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