1 ;;;; miscellaneous stuff about the ANSI standard
3 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
12 (in-package "SB!KERNEL")
14 ;;; Common Lisp special variables which have SB-XC versions
15 (proclaim '(special sb
!xc
:*macroexpand-hook
* sb
!xc
:*gensym-counter
*))
17 ;;; the Common Lisp defined type spec symbols
18 (defparameter *!standard-type-names
*
19 '(array atom bignum bit bit-vector character compiled-function
20 complex cons double-float extended-char fixnum float function
21 hash-table integer keyword list long-float nil null number package
22 pathname random-state ratio rational real readtable sequence
23 short-float simple-array simple-bit-vector simple-string simple-vector
24 single-float standard-char stream string base-char symbol t vector
))
26 (defvar sb
!sys
::*software-version
* nil
)
28 ;;; The BOOLE function dispaches to any logic operation depending on
29 ;;; the value of an argument. Presently, legal selector values are [0..15].
30 ;;; BOOLE is open coded for calls with any of the constants declared below.
32 (defconstant sb
!xc
:boole-clr
0
34 "Boole function op, makes BOOLE return 0.")
36 (defconstant sb
!xc
:boole-set
1
38 "Boole function op, makes BOOLE return -1.")
40 (defconstant sb
!xc
:boole-1
2
42 "Boole function op, makes BOOLE return integer1.")
44 (defconstant sb
!xc
:boole-2
3
46 "Boole function op, makes BOOLE return integer2.")
48 (defconstant sb
!xc
:boole-c1
4
50 "Boole function op, makes BOOLE return complement of integer1.")
52 (defconstant sb
!xc
:boole-c2
5
54 "Boole function op, makes BOOLE return complement of integer2.")
56 (defconstant sb
!xc
:boole-and
6
58 "Boole function op, makes BOOLE return logand of integer1 and integer2.")
60 (defconstant sb
!xc
:boole-ior
7
62 "Boole function op, makes BOOLE return logior of integer1 and integer2.")
64 (defconstant sb
!xc
:boole-xor
8
66 "Boole function op, makes BOOLE return logxor of integer1 and integer2.")
68 (defconstant sb
!xc
:boole-eqv
9
70 "Boole function op, makes BOOLE return logeqv of integer1 and integer2.")
72 (defconstant sb
!xc
:boole-nand
10
74 "Boole function op, makes BOOLE return log nand of integer1 and integer2.")
76 (defconstant sb
!xc
:boole-nor
11
78 "Boole function op, makes BOOLE return lognor of integer1 and integer2.")
80 (defconstant sb
!xc
:boole-andc1
12
82 "Boole function op, makes BOOLE return logandc1 of integer1 and integer2.")
84 (defconstant sb
!xc
:boole-andc2
13
86 "Boole function op, makes BOOLE return logandc2 of integer1 and integer2.")
88 (defconstant sb
!xc
:boole-orc1
14
90 "Boole function op, makes BOOLE return logorc1 of integer1 and integer2.")
92 (defconstant sb
!xc
:boole-orc2
15
94 "Boole function op, makes BOOLE return logorc2 of integer1 and integer2.")