Portable CL:*FEATURES*
Common Lisp
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.travis.yml
COPYRIGHT
README.md
SPEC.md
release.lisp
trivial-features-tests.asd
trivial-features.asd

README.md

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.