housel / trivial-features

Portable CL:*FEATURES*

Home Page:http://cliki.net/trivial-features

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Portable CL:*FEATURES*

http://cliki.net/trivial-features

License:MIT License


Languages

Language:Common Lisp 100.0%