trivial-features

2023-06-18

Ensures consistent *FEATURES* across multiple CLs.

Upstream URL

github.com/trivial-features/trivial-features

Author

Luis Oliveira <loliveira@common-lisp.net>

License

MIT
README

Build Status

trivial-features ensures consistent *FEATURES* across multiple Common Lisp implementations.

For example, on MacOS X platforms, while most Lisps push :DARWIN to *FEATURES*, CLISP and Allegro push :MACOS and :MACOSX instead, respectively. Some Lisps might not push any feature suggesting MacOS X at all. trivial-features will make sure all Lisps will have :DARWIN in the *FEATURES* list when running on MacOS X. This way, you can write

#+darwin foo #-darwin bar

instead of

#+(or darwin macos macosx) foo
#-(or darwin macos macosx) bar

The included SPEC.md document describes the set of symbols that should or should not be present in CL:*FEATURES* on certain circumstances. This specification is implemented by the TRIVIAL-FEATURES system which supports a handful of Lisps.

The test suite is, in effect, an implementation using CFFI that is checked against the various implementations in src/tf-*.lisp.

trivial-features is MIT-licenced.

Dependencies (3)

  • alexandria
  • cffi
  • rt
  • GitHub
  • Quicklisp