deprecations allows you to define functions, generic functions, macros and symbol macros as deprecated. When code which uses these is compiled then one or both of two things happens:

  • a warning is signalled by default at compile time, with the warning being of a documented class, so that it can be handled by user code if need be;
  • the file where the deprecated code is used is noted against the deprecated code, and this record can be used later, or reports generated.
The compile-time warnings can be inhibited, and the recording of users of deprecated code can be scoped dynamically. There are no run-time effects: deprecated functionality is identical to non-deprecated functionality at run-time.

MIT-License, metaprogramming