I would say it's in the spirit of other compatibility layers, but since not all implementations support package locks it really can't be considered a ANSI compatibility layer.
The need for this library came up when trying to load LISA on SBCL and encountering a package lock violation. Looking around I didn't see a package that provided a uniform way of dealing with the problem across multiple implementations.
Currently only SBCL has been tested (with :sb-package-locks enabled), but untested code is in place for acl, cmucl, and clisp.
Can be fetched from my github repo.
If a request comes to package it, I'll do so.
Many times the forms that are needing WITHOUT-PACKAGE-LOCKS or WITH-PACKAGES-UNLOCKED often need to be wrapped in an EVAL-WHEN like so:
(eval-when (:compile-toplevel :load-toplevel :execute)
(without-package-locks
(try-not :to #(break stuff) "here")))
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively