Open ruricolist opened 8 months ago
Consider adding defer (as in Go) or scope guards (as in D) as a mechanism of resource cleanup.
WIP at https://github.com/ruricolist/serapeum/blob/defer/defer.lisp.
The semantics are fairly straightforward (at least lexically; would there be a use for dynamic scope guards?). Less clear is how useful it would be.
If we make "scopes" dynamic and first-class, so we can pass them as parameters, we can implement the full generality of RAII.
This could be very useful for writing FFI code (to avoid "writing C in Lisp").
Consider adding defer (as in Go) or scope guards (as in D) as a mechanism of resource cleanup.
WIP at https://github.com/ruricolist/serapeum/blob/defer/defer.lisp.
The semantics are fairly straightforward (at least lexically; would there be a use for dynamic scope guards?). Less clear is how useful it would be.