Function-Passing, A New Model for Typed, Asynchronous and Distributed Programming
summary
Claims a concrete runtime model called function-passing that inverts actors by keeping immutable data stationary in SiloRefs and shipping typed, serializable closures called spores. Implements a Scala prototype (project f-p) that composes pickling and spores, exposes lazy apply / eager send / flatMap primitives, and demonstrates a map/reduce lineage where send materializes computation and returns a Future. Working prototype and tests exist; solves many serialization and typing bugs but raises practical issues (intermediate garbage, staging and bookkeeping) still under active design.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 0:16Serialization
- 3:07Research Project
- 3:21Fundamental Idea
- 3:35Function Passing
- 5:26Function Applications
- 6:28Silos
- 11:37Problems with Closures
- 17:07Spores
- 17:44Longhand Version
- 18:31Sport Header
- 19:12Sport Header Rules
- 19:30Evaluation semantics
- 19:47Coercion
- 20:11Summary
- 21:57Example
- 25:37Fault Tolerance
- 26:52Status
- 27:05FDashP
- 28:11Wrapup
- 28:59Questions
- 29:48Design Discussion
related talks
42mFunction Passing Style: Typed, Distributed Functional Programming
15mTypestate via Revocable Capabilities
22mTransformation Function Called Higher-Order
45mFunctional Programming — What's the Point?
44mTelling the Truth with Types
50mPinafore: Strongly Typed Information Representation
50mReification and type-safety in a CQRS world
21mSuper TypeScript II Turbo – FP Remix
