24.5. Variable `*FEATURES*`
Prev | Chapter 24. System Construction | Next

## 24.5. Variable `*FEATURES*`

The variable `*FEATURES*` initially contains the following symbols

Default `*FEATURES*`

`:CLISP`
  the name of this implementation
`:ANSI-CL`
  CLISP purports to conform to [ANSI CL standard]
`:COMMON-LISP`
  required by [ANSI CL standard]
`:INTERPRETER`
  `EVAL` is implemented
`:COMPILER`
  `COMPILE` and `COMPILE-FILE` are implemented
`:SOCKETS`
  see Section 32.4, “Socket Streams”
`:GENERIC-STREAMS`
  see Section 31.6, “Generic streams”
`:LOGICAL-PATHNAMES`
  Logical Pathnames are implemented
`:FFI`
  if a foreign function interface (see Section 32.3, “The Foreign Function Call Facility”) is supported (Platform Dependent: Many UNIX, Win32 platforms only)
`:GETTEXT`
  if internationalization (see Section 31.4, “Internationalization of CLISP”) using the GNU gettext package is supported (Platform Dependent: most UNIX platforms only)
`:UNICODE`
  if UNICODE (ISO 10646) characters are supported (see Section 31.5, “Encodings”)
`:LOOP`
  “extended” `LOOP` form is implemented
`:CLOS`
  CLOS is implemented
`:MOP`
  Meta-Object Protocol is implemented
`:WIN32`
  if `hardware` = PC (clone) and `operating system` = Win32 (Windows 95/98/Me/NT/2000/XP)
`:PC386`
  if `hardware` = PC (clone). It can be used as an indicator for the mainstream hardware characteristics (such as the existence of a graphics card with a non-graphics text mode, or the presence of a keyboard with arrows and Insert/Delete keys, or an ISA/VLB/PCI bus) or software characteristics (such as the Control+Alternate+Delete keyboard combination).
`:UNIX`
  if `operating system` = UNIX (in this case the `hardware` is irrelevant!)
`:BEOS`
  if `operating system` = BeOS (in that case `:UNIX` is also present)
`:CYGWIN`
  if CLISP is using the Cygwin UNIX compatibility layer on top of Win32 (in that case `:UNIX` is also present)
`:MACOS`
  if `operating system` = Mac OS X (in that case `:UNIX` is also present)

Each module should add the appropriate keyword, e.g., `:SYSCALLS`, `:DIRKEY`, `:REGEXP`, `:PCRE`, etc.

| These notes document CLISP version 2.45 | Last modified: 2008-05-14

Enter your search termsSubmit search form
Webclisp.cons.orgclisp.podval.orgwww.lisp.org

Prev | Up | Next
24.4. Function `LOAD` | Home | 24.6. Function EXT:FEATUREP [CLRFI-1]