(rontolisp) docs
← objc Package Functions

objc:make-autorelease-pool

(objc:make-autorelease-pool)

Makes an autorelease pool, current until objc:release drains it (with every pool made after it). Pools are kept in Lisp: every send runs in a pool of its own on the main thread, so a real NSAutoreleasePool could not span two of them. Part of the macOS-only objc package -- the interpreter (java -jar, or the rontolisp native binary), a compiled .class / .jar and a --native executable for macOS on Apple silicon, never a .wasm; on a machine without the runtime it signals an error. See the macOS GUI guide.

CL-USER> (let ((pool (objc:make-autorelease-pool)))
           (objc:autorelease (objc:alloc-init-object "NSObject"))
           (objc:release pool))
NIL