Pulltypes
Pulltypes are a family of type-theoretic constructs designed to model and enforce pull-based interactions in programming languages. In a pulltype system, data producers do not initiate communication; instead, consumers issue explicit requests for data, and the type system enforces that every data item is fetched only after a corresponding request. This contrasts with push-based or event-driven models, where producers emit data without awaiting consumer readiness.
The concept arises from dataflow and streaming debates and is often discussed in connection with session types,
In practice, a language with pulltypes would allow functions to declare that they return a value only
Criticism centers on added complexity and the absence of a standard approach; supporters argue that pulltypes