Building composable abstractions
Do you want to create robust and composable abstractions? Eric Normand shares an iterative process to define the essence of a domain and build composability into the core and then demonstrates how to apply this process to the Processing graphics library to develop a composable vector graphics system.
Talk Title | Building composable abstractions |
Speakers | Eric Normand (PurelyFunctional.tv) |
Conference | O’Reilly Open Source Convention |
Conf Tag | Put open source to work |
Location | Portland, Oregon |
Date | July 16-19, 2018 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Do you want to create robust and composable abstractions? Most people who are learning functional programming learn how to build data transformation pipelines. Building algebraic abstractions is the next step, but there isn’t much literature on the topic outside of academia, so many remain stuck at data transformation. Eric Normand shares an iterative process to define the essence of a domain and build composability into its core and then demonstrates how to apply this process to the Processing graphics library to develop a composable vector graphics system. You’ll discover the difference between Newtonian-style abstractions and Aristotelian-style abstractions and learn a design process for developing an algebraic abstraction that can compose and easily express solutions (Newtonian style), elaborate a physical metaphor, describe the meaning of your metaphor as mathematical statements, construct the meaning using constructs from the language, and implement the abstraction by refactoring the meaning.