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.