All Manuals > LispWorks User Guide and Reference Manual > 27 The COMMON-LISP Package




The features list.



Initial Value

A list containing :lispworks . The actual value varies depending on the platform.


The following features can be used to distinguish between platforms, or characteristics of the platform or of the LispWorks implementation.






System 5 Release 4 machine (for example Solaris2)




The variant of FreeBSD underlying Mac OS X.


Unix, including all of the above.


Microsoft Windows, including 32-bit and 64-bit.


64-bit LispWorks.


32-bit LispWorks.


All images that run on the x86 architecture have this feature. This includes Intel Macintosh, FreeBSD, Linux (32-bit), x86/x64 Solaris (32-bit) and Windows (32-bit).

Note: 64-bit LispWorks does not have this feature.

:amd64 , :x86-64 , :x64

Images that run on the amd64/x86_64/x64 architecture have each of these feautures. This includes Linux (64-bit), FreeBSD (64-bit), x86/x64 Solaris (64-bit) and Windows (64-bit).


Images that run on SPARC architecture.


Images that run on PowerPC architecture.


Images that run in HP PA-RISC architecture.


The compiler targets a little endian machine, for instance x86.

Code can distinguish the fifteen current LispWorks implementations like this:

#+(and :mswindows :lispworks-32bit)
"LispWorks (32-bit) for Windows"
#+(and :mswindows :lispworks-64bit)
"LispWorks (64-bit) for Windows"
#+(and :linux :lispworks-32bit)
"LispWorks (32-bit) for Linux"
#+(and :linux :lispworks-64bit)
"LispWorks (64-bit) for Linux"
#+(and freebsd :lispworks-32bit)
"LispWorks (32-bit) for FreeBSD"
#+(and freebsd :lispworks-64bit)
"LispWorks (64-bit) for FreeBSD"
#+(and :darwin :x86)
"LispWorks (32-bit) for Macintosh (running on Intel)"
#+(and :darwin :powerpc :lispworks-32bit)
"LispWorks (32-bit) for Macintosh (running on PowerPC)"
#+(and :darwin :x86-64 :lispworks-64bit)
"LispWorks (64-bit) for Macintosh (running on Intel)"
#+(and :darwin :powerpc :lispworks-64bit)
"LispWorks (64-bit) for Macintosh (running on PowerPC)"
#+(and :solaris2 :x86)
"LispWorks (32-bit) for Intel/Solaris"
#+(and :solaris2 :x86-64)
"LispWorks (64-bit) for Intel/Solaris"
#+(and :sparc :lispworks-32bit)
"LispWorks (32-bit) for Solaris"
#+(and :sparc :lispworks-64bit)
"LispWorks (64-bit) for Solaris"
"LispWorks for HP PA"

The following features can be used to distinguish between versions of LispWorks:


All major version 4 releases.


Release 4.4.x


All major version 5 releases.


Release 5.0.x


Release 5.1.x


Release 6.0.x


Release 6.1.x

Every LispWorks 5 and LispWorks 6 image has exactly one of the features :lispworks-32bit and :lispworks-64bit .

The two LispWorks architectures, 32-bit and 64-bit, can be distinguished by the features: lispworks-32bit or :lispworks-64bit .

The following features are present in LispWorks with the meanings defined for ANSI CL:




Note that sometimes it is necessary to write code that examines *features* at load time or run time. For example this is true when you put platform-dependent code in fasl files that are shared between multiple platforms.

For a LispWorks image with the CAPI loaded, :capi will appear on *features* .


LispWorks for Macintosh supports the native Mac OS X Cocoa-based GUI and the X11/GTK+ GUI. If you need to test for which of these libraries is loaded, check for the features :cocoa and :gtk . The X11/Motif GUI is also available by evaluating (require "capi-motif") in the GTK+ image.

LispWorks User Guide and Reference Manual - 21 Dec 2011