Using GADTs to create a “Full Stack”, Runtime Gen. Scaffolding Lib in Scala
summary
Claims a concrete library called Bones library that uses GADTs + interpreters to generate HTTP routes, DB schema, Swagger docs, React clients and Protobuf/BJSON/JSON wire formats from one schema and keep outputs in sync as the schema changes. Implements JSON (Argonaut) marshalling/unmarshalling, validation with both short‑circuit and error‑accumulation modes, and Shapeless HList for hierarchical case classes; runtime demo produces CRUD endpoints, protobuf blobs and swagger output and largely works though some client fields misrender in the demo.
AI-written summary · about
chapters (11)
- 0:00Start
- 1:37Scaffolding
- 4:20Example: Parsing Key Value Pairs
- 14:38Shapeless Huist - Quick Overview
- 23:11Location Example
- 25:39Validation Using a GADT State Of Mind
- 30:24REST Schema Interpreter
- 31:37HTTP45 Pseudo Code Interpreter
- 32:57Bones -Schema Interpreters
- 33:47Bones - List of Data Types
- 34:16DEMO
related talks
29mPure Scala Approach for Building Frontend and Backend Apps
20mMeet The Web Framework From The Future
31mHow I learned to stop worrying and love the frontend
41mA Practical Skeleton for Your Next Scala Scala js Web Application
44mDefy Architectural Uncertainty by Building Schrödinger's App
22mAutomate your stack with GraphQL
31mSCALA FROM B TO F - BACKEND DEVELOPER ON FRONTEND
49mGraphQL Meshes
