Description
Composable request-response pipelines.
Description
Job
is a free monad, plus a little extra. It is parameterized on two type constructors: one for dynamic effects, and one for static effects. The Vendor
type is similar to job, but a vendor can also respond to requests, and thus it has two dynamic interfaces: one upstream and one downstream. We can connect vendors to jobs or to other vendors, creating a pipeline (or "supply chain", if you like) along the dynamic interfaces.