(rontolisp) docs
← Functions

rontolisp:finally

(rontolisp:finally future thunk)

Returns a fresh future carrying the input's original settlement (either value or condition) and runs the zero-argument thunk exactly once on whichever outcome the future produces. The thunk's return value is discarded; a condition raised inside the thunk replaces the pending outcome (matches unwind-protect).

Use it to run a cleanup step (release a resource, log a metric, decrement a counter) that must fire on both the success and the error channels of a future you receive from a callee.

A non-future first argument is a type-error.

Backend support

Same as rontolisp:then: interpreter, JVM, WASM --component. Preview 1 WASM supports the success shape (the error arm would need the futured error-at-await contract that the component backend provides). --no-gc rejects at compile time.