To call foreign code that needs a block as an argument, the Lisp program needs to create the blocks. You do this in two steps:
Foreign blocks created by allocate-foreign-block are released when appropriate by free-foreign-block.
Foreign block pointers created by allocate-foreign-block are of type foreign-block-pointer and print with
"lisp-foreign-block-pointer"
.
examples/misc/foreign-blocks.lisp
examples/misc/grand-central-dispatch.lisp
LispWorks Foreign Language Interface User Guide and Reference Manual - 7 Dec 2011