cl-naive-deprecation

2024-10-12

No Description

Upstream URL

Author

Phil Marneweck

License

MIT
README

1cl-naive-deprecation

We needed a generic way to mark depreciated functions in cl-naive-* libraries and the following stack overflow post gave us some inspiration.

https://stackoverflow.com/questions/71392756/best-practices-for-deprecating-functions

Of course the project took on a life of its own and we have the following.

The cl-naive-deprecation package exports a facility to mark some operators (function, generic function or macro), as being deprecated.

A compiler-macro is added to those operators, so that when the operator is used, a warning is produced at compilation time and the source file where it's used is recorded.

You can also supply code to replace the replaced operator with the new code to use.

We can get the list of deprecated operators and we may print a report.

You can mark operators as deprecated, removed or replaced.

1.1Alternatives Available to cl-naive-deprecation

https://shinmera.github.io/trivial-deprecate/ (only found this when submitting this project to quicklisp, pure fluke!).

1.2Design

N/A

1.3Use Cases

Erm, deprecation?

1.4Documentation

Documentation can be found in the docs folder in the repository.

1.5Tutorials

Simple step by step tutorial(s) to get you started fast.

1.6How To(s)

How to do different things can be found here.

1.7Dependencies

None.

1.8Supported CL Implementations

Should support all compliant implementations, no implementation specific code was used.

1.9Tests

To load and run the tests, clone the project and then:

  (ql:quickload :cl-naive-deprecation.tests)

  (cl-naive-tests:report (cl-naive-tests:run))

Dependencies (0)

    Dependents (0)

      • GitHub
      • Quicklisp