Pump

~import orisha/pump

Orisha's pump — the contract.

lib/pump.k · 5 tors

Orisha's pump — the contract. What a pump is: the thing that owns the readiness loop and hands the flow one exchange at a time. Every declaration is here; the loop bodies, one per platform, are in the companion `pump.kz`. This file has no host language in it, so it has no `~` in it either. RUN — the loop. One variant per platform. `! arrived` fires once per request and RESUMES; `| stopped` and `| failed` are the two ways the loop ends. `*Exchange` is a host type the companion declares — a contract may name one, it just may not define one.

fill

retain lib/pump.k:43