Network I/O should be modelled as an algebraic effect (e.g., <Http> or <Net>) with operations like get, post, etc. Functions performing network access declare effects(<Http>). Handlers provide the implementation — real HTTP in production, mocks in tests.
This fits naturally with Vera's algebraic effect system and makes network I/O explicit and testable. Almost all practical programs need network access; this should be a first-class part of the standard library (Chapter 9).
Spec reference: spec/00-introduction.md § 0.8 "Network Access as an Effect"
Network I/O should be modelled as an algebraic effect (e.g.,
<Http>or<Net>) with operations likeget,post, etc. Functions performing network access declareeffects(<Http>). Handlers provide the implementation — real HTTP in production, mocks in tests.This fits naturally with Vera's algebraic effect system and makes network I/O explicit and testable. Almost all practical programs need network access; this should be a first-class part of the standard library (Chapter 9).
Spec reference:
spec/00-introduction.md§ 0.8 "Network Access as an Effect"