Optics (Q7361308)

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 Optics
Language Label Description Also known as
default for all languages
No label defined
    English
    Optics
    AFP entry Optics

      Statements

      25 May 2017
      0 references
      Simon Foster
      0 references
      Christian Pardillo-Laursen
      0 references
      Frank Zeyda
      0 references
      Optics (English)
      0 references
      Lenses provide an abstract interface for manipulating data types through spatially-separated views. They are defined abstractly in terms of two functions, get , the return a value from the source type, and put that updates the value. We mechanise the underlying theory of lenses, in terms of an algebraic hierarchy of lenses, including well-behaved and very well-behaved lenses, each lens class being characterised by a set of lens laws. We also mechanise a lens algebra in Isabelle that enables their composition and comparison, so as to allow construction of complex lenses. This is accompanied by a large library of algebraic laws. Moreover we also show how the lens classes can be applied by instantiating them with a number of Isabelle data types.
      0 references