2020-03-07 10:28:48 -05:00
;; Feature identifiers for (cond-expand) and (features)
;; R7RS Standard Feature Identifiers
( id r7rs )
2020-08-05 05:39:36 -04:00
( description "All R7RS Scheme implementations have this feature" )
2020-03-07 10:28:48 -05:00
( id exact-closed )
2020-08-05 05:39:36 -04:00
( description "The algebraic operations +, -, *, and expt (where the second argument is a non-negative integer) produce exact values given exact inputs" )
2020-03-07 10:28:48 -05:00
( id exact-complex )
2020-08-05 05:39:36 -04:00
( description "Exact complex numbers are provided" )
2020-03-07 10:28:48 -05:00
( id ieee-float )
2020-08-05 05:39:36 -04:00
( description "Inexact numbers are IEEE 754 binary floating point values" )
2020-03-07 10:28:48 -05:00
( id full-unicode )
2020-08-05 05:39:36 -04:00
( description "All Unicode characters present in Unicode version 6.0 are supported as Scheme characters" )
2020-03-07 10:28:48 -05:00
( id ratios )
2020-08-05 05:39:36 -04:00
( description "/ with exact arguments produces an exact result when the divisor is nonzero" )
2020-03-07 10:28:48 -05:00
( id jvm )
( description "Running on a Java Virtual Machine (JVM)" )
( id clr )
( description "Running on a Common Language Runtime (.NET CLR)" )
( id llvm )
2020-08-05 05:39:36 -04:00
( description "Running on the LLVM compiler infrastructure" )
2020-03-07 10:28:48 -05:00
( id ilp32 )
2020-08-05 05:39:36 -04:00
( description "C language int, long and pointer types are all 32 bits wide" )
2020-03-07 10:28:48 -05:00
( id lp64 )
2020-08-05 05:39:36 -04:00
( description "C language int type is 32 bits, long and pointer 64 bits wide" )
2020-03-07 10:28:48 -05:00
( id ilp64 )
2020-08-05 05:39:36 -04:00
( description "C language int, long, and pointer types are all 64 its wide" )
2020-03-07 10:28:48 -05:00
( id big-endian )
2020-08-05 05:39:36 -04:00
( description "The CPU byte order is big-endian" )
2020-03-07 10:28:48 -05:00
( id little-endian )
2020-08-05 05:39:36 -04:00
( description "The CPU byte order is little-endian" )
2020-08-07 03:53:26 -04:00
;; Others
( id |64bit| )
( description "Running on a 64-bit CPU (note: symbol starts with number)" )
( id complex )
( description "Complex numbers are provided" )
( id clang )
( description "LLVM clang compiler [Chicken]" )
( id crypto )
( description "Crypto interface [Sagittarius]" )
( id csi )
( description "Chicken Scheme interpreter" )
( id dload )
( description "Dynamic loading of C libraries [Chicken]" )
( id dynamic-loading )
( description "Dynamic loading of C libraries [Chibi]" )
( id ffi )
( description "[Sagittarius]" )
( id ffi-vargs )
( description "[Sagittarius]" )
( id full-numeric-tower )
( description "All RnRS number types are implemented [Chicken]" )
( id manyargs )
( description "[Chicken]" )
( id mit/gnu )
( description "MIT/GNU Scheme" )
( id modules )
( description "[Chibi]" )
( id odbc )
( description "ODBC interface [Sagittarius]" )
( id ptables )
( description "[Chicken]" )
( id socket )
( description "Sockets interface [Sagittarius]" )
( id srfi-* )
( description "Scheme Request for Implementation number N implemented" )
( id swank )
( description "Common Lisp SWANK remote REPL protocol supported" )
( id termios )
( description "Termios interface [Sagittarius]" )
( id threads )
( description "Multi-threading is supported (either green threads or OS threads)" )
( id regexp-backrefs )
( description "[SRFI 115]" )
( id regexp-look-around )
( description "[SRFI 115]" )
( id regexp-non-greedy )
( description "[SRFI 115]" )
( id regexp-unicode )
( description "[SRFI 115]" )
( id uvector )
( description "[Chibi]" )
( id zlib )
( description "Zlib interface [Sagittarius]" )