Travis Stevens- Using GADTs to create a “Full Stack”, Runtime Gen. Scaffolding Lib in Scala- λC 2019
Автор: LambdaConf
Загружено: 2020-04-17
Просмотров: 210
Описание:
Using GADTs to create a “Full Stack”, Runtime Generated Scaffolding Library in Scala
We will learn how the Scala library “Bones” uses Generalized Abstract Data Types to define a schema and utilize different interpreters to create HTTP routes, database tables, documentation, and web application code based on the schema. The interpreter output is kept in sync if the schema changes. Generalized Abstract Data Types (GADTs) give us a strategy to decouple the description of data from code that is executed. This decoupling allows us to create multiple interpreters for a GADT algebra and provides some guarantees that different interpreters are working with the same data structure and are kept in sync if the data structure changes, or if a new data type is introduced. Using this technique, we will learn how to code multiple interpreters in order to create a full stack web application where the interpreters can be reused for variable Scala data structures.
The talk outline is as follows:
Demo to give context as to the intent of using GADTs
GADT Basics
GADT Data Type
DSL
Interpreters
basics
interpreters returning functions
Building a JSON deserializer interpreter using the Argonaut JSON library
Validation as a GADT
Using the Shapeless library for more complex data structures.
Interpreters for full stack REST Applications including
Data exchange formats: JSON, BJSON and Protobuf
Swagger Documentation
Server Side definitions
Client Side React Applications
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: