ruricolist / serapeum

Utilities beyond Alexandria
MIT License
425 stars 42 forks source link

Recommend using `cl-package-locks` instead of `#+sb-package-locks (:lock t)` #66

Open minghu6 opened 4 years ago

minghu6 commented 4 years ago

When I read the source, I find that \: https://github.com/ruricolist/serapeum/blob/408abccd519254efe877d49aeb4c2b912bd0ffc0/package.lisp#L12

However, there is a cl-package-locks have provided a uniform way of dealing with package-locks across implementations.

Why not just import it from defsystem and replace the sbcl-package-lock using (cl-package-locks:lock-package 'serapeum) on package.lisp?

ruricolist commented 4 years ago

For two reasons:

  1. cl-package-locks is very old and probably obsolete (hasn't been touched in 10 years, doesn't even mention ECL)
  2. I use the feature of SBCL's package locks that lets one package implement parts of another; not all Lisps that support package locks support that.

However there may be a better, more portable way to do this so I will leave this issue open for the present.

minghu6 commented 4 years ago

cl-package-locks is indeed very old and keeps unmaintained for a long time... (I just use it in sbcl, and still works fine for package lock function)

Maybe we can try to email the author (if still alive 😂) and take over it? en... maybe some day, waiting for Godot

elliottjohnson commented 6 months ago

Hi. Reviving an old topic becauseI just found this via a random Google search.

No updates in a long time because there hasn't been a need on my end. Let me know if you have a pull request for your needs.

Best, Elliott