Recently Written · git

clic

MIRROR ONLY Gopher client with pretty colours in Common Lisp

git clone https://github.com/equwal/clic

Log | Files | Refs


3rdparties/software/alexandria-20200427-git/alexandria-1/features.lisp (717 bytes)

1 (in-package :alexandria)
2 
3 (defun featurep (feature-expression)
4   "Returns T if the argument matches the state of the *FEATURES*
5 list and NIL if it does not. FEATURE-EXPRESSION can be any atom
6 or list acceptable to the reader macros #+ and #-."
7   (etypecase feature-expression
8     (symbol (not (null (member feature-expression *features*))))
9     (cons (check-type (first feature-expression) symbol)
10           (eswitch ((first feature-expression) :test 'string=)
11             (:and (every #'featurep (rest feature-expression)))
12             (:or  (some #'featurep (rest feature-expression)))
13             (:not (assert (= 2 (length feature-expression)))
14                   (not (featurep (second feature-expression))))))))