Data Types, Algebra, Parametricity, Optics by Tony Morris

preview_player
Показать описание
In this talk, Tony Morris will discuss the algebra of data types and how we can obtain benefits by reasoning algebraically in program design. Some of these benefits take a subtle change of view, with less emphasis on the data type structure, and more on its algebraic representation. For example, we can observe the benefits of parametricity, where a program's type constrains its implementation, and use algebra to calculate the result. If we can calculate a program's type, algebraically, to be equal to the value 1, then we can reliably conclude that there is only one program with that type (and so it must be that one!). We can use optics as the basis to denote the algebra of a data structure and navigate that structure with an opaque view of any representation. This line of reasoning about data types leads to practical applications such as tackling the data schema update problem and other problems that collectively cause us all great pain. The benefits of this approach are diverse, this talk aims to provoke discussion about what can be achieved by reasoning algebraically about our programs.

About Functional Scala:
Functional Scala was founded in 2019 to provide an independent, professional platform for speakers across the entire Scala community, bringing together new and existing Scala developers in an uplifting and welcoming environment that focuses on innovation & excellence.

#FunctionalScala2020 #FunScala2020 #FunScala20
Рекомендации по теме
Комментарии
Автор

I love the partial derivatives on types, can we integrate over types?

arisv