OBJECT ALGEBRAS AND WHY YOU WON'T TOUCH HTTP LIBRARY EVER AGAIN
summary
Single API definitions become server routes, client calls and OpenAPI/Swagger docs without code generation; the project implements this in Scala as the endpoints library using object algebras (tagless‑final + inheritance) and backends for akka‑http and Play plus XHR/Simple clients. It is type‑safe, macro‑free, avoids duplication, ships working server and client interpreters, offers generic JSON schema derivation, includes a CRUD generator and plans automated compatibility checks for breaking changes.
AI-written summary · about
chapters (18)
- 0:00Intro
- 3:50Do not repeat yourself
- 5:22Defining API
- 9:30Overview
- 14:42Request bodies
- 15:22Model requests and endpoints
- 16:34Interpreters
- 17:08Response
- 17:42Usage
- 18:24Extensibility
- 18:37Partial interpreters
- 19:06Custom vocabulary
- 20:13Bug fixes
- 20:46Free vs Douglas
- 21:03Why inheritance
- 21:29Why composition
- 22:03Good luck
- 22:14Resources
related talks
33mYour HTTP endpoints are data, as well!
43mAPI first with Swagger and Scala
49mBeautiful APIs with Scala, Scalatra, Swagger, and Akka
31mPAIN-FREE APIS WITH SMITHY4S
52mFrom annotations to code: describing HTTP endpoints with Tapir
30mGraphQL, gRPC and REST, Oh My! A Method for Unified API Design
24mGraphQL, gRPC, REST, Oh My! - A Method for Unified API Design
36mScale By The Bay 2018 Unconference: Devon Stewart
