atomics

2024-10-12

Portability layer for atomic operations like compare-and-swap (CAS).

Upstream URL

github.com/shinmera/atomics

Author

Yukari Hafner <shinmera@tymoon.eu>

Maintainer

Yukari Hafner <shinmera@tymoon.eu>

License

zlib
README
## About Atomics This is a library for access to atomic operation primitives such as compare-and-swap. It aims to be a rather thin layer over what the implementations offer. ## Currently Supported Implementations The following implementations are fully or partially supported: - Allegro - CCL - ECL - LispWorks - Mezzano - SBCL - CMUCL For a detailed report on the capabilities, please see the documentation of the respective operators. If you think that an implementation should be added, or better supported, please file an ''issue''(https://github.com/shinmera/atomics/issues) or a pull request with the necessary information. If an operation is unsupported, an error will be signalled on usage of the operator. You can conditionalise your code with the following features for automated support detection: - ``:atomics-cas-car`` for conses - ``:atomics-cas-svref`` for simple-vectors - ``:atomics-cas-symbol-plist`` for symbol-plists - ``:atomics-cas-symbol-value`` for the global symbol-value - ``:atomics-cas-slot-value`` for slot-value on standard objects - ``:atomics-cas-memref`` for foreign memory - ``:atomics-cas-struct-slot`` for structure slot accessors - ``:atomics-cas-special-var`` for dynamic variables - ``:atomics-cas-custom`` for support of custom CAS form definitions

Dependencies (2)

  • documentation-utils
  • parachute
  • GitHub
  • Quicklisp