velleity — register an intention without allocating the will to execute it
#include <volition.h> int velleity(goal_t *g, int effort); /* returns before doing anything */ want(g) && !will(g) -> velleity
velleity() accepts a goal and returns immediately with the intention marked present. It spawns no worker, touches no resource, and reports success. The call is non-blocking in the strongest available sense: nothing blocks because nothing runs.
The registered intention is held on a decaying buffer. Each scheduler tick drains it faster than the caller replenishes it, so the buffer trends to zero without ever crossing the threshold that would trigger execution. The documented steady state is forty percent filled and falling. Callers frequently mistake the sincerity of the registration for progress on the goal; the two are not linked.
velleity() is thread-safe by construction, as no thread is ever created.
Velleity entered English in the early 17th century from Medieval Latin velleitas, an abstract noun the schoolmen built on Latin velle, "to wish," using the -itas suffix that also produced qualitas and quantitas. Thomist faculty psychology ranked it beneath voluntas as the will's weakest grade: a wish that would consent, provided consent cost nothing. The term stayed confined to theology and moral philosophy for centuries before lapsing into general disuse.
Buffer drains faster than any observed caller can refill it. Filed WONTFIX; upstream is human nature.
--actually-do-it has sat in the backlog since the first commit. It is fully intended.
The completion path (exit 100) is reachable only by accident and cannot be attributed to the caller's effort.
livelock(8), quiescence(1), hysteresis(3). The living exhibit demonstrates the word in motion:
▸ operate velleity