Batching Monadic Requests with Free Interpreters
summary
Builds a runtime that inspects running monadic programs, extracts their next free applicative requests, and batches them against the Google Calendar batch API. Uses free monad over free applicative, GADTs, ReaderT/ExceptT, and UUID tagging. Shows batching across many concurrent programs, limiting HTTP payloads to 50 per batch, and reports that hundreds of business requests compress into only a few batches, with tests and a working Haskell implementation.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:49Prerequisite Concepts
- 8:06The Problem
- 9:46A and Algebra
- 15:05HTTP Handler
- 16:10Command Type
- 17:22Client
- 19:37Singleton List
- 21:27Reader
- 23:55Run Commands
- 26:10Batching Monads
- 31:42Inputs
- 33:49Making a geologic program
- 36:55Insert event
- 38:06Traverse
- 42:24extractor
- 44:59Recap
related talks
41mThe Free Monad by Example
01h 03mFunctional Programming Patterns for Mere Mortals
42mThe Monad and You
49mScalaz, or: how I learned to stop worrying and love monads
40mReinventing Haxl: Efficient, Concurrent and Concise Data Access
31mMONADS - CODING FUNCTIONALLY
41mArchitectures Using Functional Programming Concepts
45mOptimusPrimeT
