small cleanups...
...clean.sh should remove more stuff, notably *.orig files.
...s/might-contain-other-types?/might-contain-other-types-p/
...DB README note suggestion from sbcl-devel 2002-04
Welcome to SBCL.
To find out more about who created the system, see the "CREDITS" file.
Welcome to SBCL.
To find out more about who created the system, see the "CREDITS" file.
system, please send mail to one of the mailing lists:
sbcl-help@lists.sourceforge.net
sbcl-devel@lists.sourceforge.net
system, please send mail to one of the mailing lists:
sbcl-help@lists.sourceforge.net
sbcl-devel@lists.sourceforge.net
+
+
+SYSTEM-SPECIFIC HINTS
+
+for OpenBSD:
+ It's reported for CMU CL (by Darren Bane on the comp.lang.lisp newsgroup,
+ 2002-04-22) that OpenBSD 3.0 has stricter ulimit values, and/or enforces
+ them more strictly, than its predecessors, and so CMU CL's initial mmap()
+ won't work unless you increase the limit on the data segment, e.g. with
+ ulimit -S -d 524288
+ before you run CMU CL. The same is probably true of SBCL, but hasn't been
+ tested yet. (As of sbcl-0.7.3, SBCL has only been tested on OpenBSD 2.9
+ and earlier.)
# Within all directories, remove things which don't look like source
# files. Some explanations:
# (symlinks)
# Within all directories, remove things which don't look like source
# files. Some explanations:
# (symlinks)
-# are never in the sources; they must've been created
+# are never in the sources, so must've been created
# sbcl
# the runtime environment, created by compiling C code
# sbcl.h
# sbcl
# the runtime environment, created by compiling C code
# sbcl.h
# *.core, *.map
# looks like SBCL SAVE-LISP-AND-DIE or GENESIS output, and
# certainly not source
# *.core, *.map
# looks like SBCL SAVE-LISP-AND-DIE or GENESIS output, and
# certainly not source
# common names for editor temporary files
# common names for editor temporary files
+# TAGS, tags
+# files created by GNU etags and ctags
+# .#*, *.orig, .*.orig
# rubbish left behind by CVS updates
# *.htm, *.html
# The system doc sources are SGML, any HTML is
# automatically-generated output.
# depend
# made by "make depend" (or "gmake depend" or some such thing)
# rubbish left behind by CVS updates
# *.htm, *.html
# The system doc sources are SGML, any HTML is
# automatically-generated output.
# depend
# made by "make depend" (or "gmake depend" or some such thing)
-# *.x86f, *.axpf, *.lbytef, *.fasl
-# typical extensions for fasl files
+# *.lisp-obj, *.fasl, *.x86f, *.axpf, *.lbytef, *.lib
+# typical extensions for fasl files (not just from SBCL, but
+# from other Lisp systems which might be used as xc hosts)
find . \( \
-type l -o \
-name '*~' -o \
-name '#*#' -o \
-name '.#*' -o \
find . \( \
-type l -o \
-name '*~' -o \
-name '#*#' -o \
-name '.#*' -o \
+ -name '*.orig' -o \
+ -name '.*.orig' -o \
-name '?*.x86f' -o \
-name '?*.axpf' -o \
-name '?*.lbytef' -o \
-name '?*.x86f' -o \
-name '?*.axpf' -o \
-name '?*.lbytef' -o \
-name '*.htm' -o \
-name '*.html' -o \
-name 'TAGS' -o \
-name '*.htm' -o \
-name '*.html' -o \
-name 'TAGS' -o \
-name 'local-target-features.lisp-expr' \) -print | xargs rm -f
-name 'local-target-features.lisp-expr' \) -print | xargs rm -f
(defstruct (hairy-type (:include ctype
(class-info (type-class-or-lose 'hairy))
(enumerable t)
(defstruct (hairy-type (:include ctype
(class-info (type-class-or-lose 'hairy))
(enumerable t)
- (might-contain-other-types? t))
+ (might-contain-other-types-p t))
(:copier nil)
#!+cmu (:pure nil))
;; the Common Lisp type-specifier of the type we represent
(:copier nil)
#!+cmu (:pure nil))
;; the Common Lisp type-specifier of the type we represent
;;; A COMPOUND-TYPE is a type defined out of a set of types, the
;;; common parent of UNION-TYPE and INTERSECTION-TYPE.
(defstruct (compound-type (:include ctype
;;; A COMPOUND-TYPE is a type defined out of a set of types, the
;;; common parent of UNION-TYPE and INTERSECTION-TYPE.
(defstruct (compound-type (:include ctype
- (might-contain-other-types? t))
+ (might-contain-other-types-p t))
(:constructor nil)
(:copier nil))
(types nil :type list :read-only t))
(:constructor nil)
(:copier nil))
(types nil :type list :read-only t))
(defun !has-superclasses-complex-subtypep-arg1 (type1 type2 info)
;; If TYPE2 might be concealing something related to our class
;; hierarchy
(defun !has-superclasses-complex-subtypep-arg1 (type1 type2 info)
;; If TYPE2 might be concealing something related to our class
;; hierarchy
- (if (type-might-contain-other-types? type2)
+ (if (type-might-contain-other-types-p type2)
;; too confusing, gotta punt
(values nil nil)
;; ordinary case expected by old CMU CL code, where the taxonomy
;; too confusing, gotta punt
(values nil nil)
;; ordinary case expected by old CMU CL code, where the taxonomy
(cond ((eq type1 *empty-type*)
t)
(;; When TYPE2 might be the universal type in disguise
(cond ((eq type1 *empty-type*)
t)
(;; When TYPE2 might be the universal type in disguise
- (type-might-contain-other-types? type2)
+ (type-might-contain-other-types-p type2)
;; Now that the UNION and HAIRY COMPLEX-SUBTYPEP-ARG2 methods
;; can delegate to us (more or less as CALL-NEXT-METHOD) when
;; they're uncertain, we can't just barf on COMPOUND-TYPE and
;; Now that the UNION and HAIRY COMPLEX-SUBTYPEP-ARG2 methods
;; can delegate to us (more or less as CALL-NEXT-METHOD) when
;; they're uncertain, we can't just barf on COMPOUND-TYPE and
;; changes in internal representation in the type
;; system could make it start confidently returning
;; incorrect results.) -- WHN 2002-03-08
;; changes in internal representation in the type
;; system could make it start confidently returning
;; incorrect results.) -- WHN 2002-03-08
- (unless (or (type-might-contain-other-types? complement-type1)
- (type-might-contain-other-types? type2))
+ (unless (or (type-might-contain-other-types-p complement-type1)
+ (type-might-contain-other-types-p type2))
;; Because of the way our types which don't contain
;; other types are disjoint subsets of the space of
;; possible values, (SUBTYPEP '(NOT AA) 'B)=NIL when
;; Because of the way our types which don't contain
;; other types are disjoint subsets of the space of
;; possible values, (SUBTYPEP '(NOT AA) 'B)=NIL when
FROM-TABLE defaults to the standard Lisp readtable when NIL."
(let ((really-from-readtable (or from-readtable *standard-readtable*)))
;; Copy FROM-CHAR entries to TO-CHAR entries, but make sure that if
FROM-TABLE defaults to the standard Lisp readtable when NIL."
(let ((really-from-readtable (or from-readtable *standard-readtable*)))
;; Copy FROM-CHAR entries to TO-CHAR entries, but make sure that if
- ;; from char is a constituent you don't copy non-movable secondary
+ ;; FROM-CHAR is a constituent you don't copy non-movable secondary
;; attributes (constituent types), and that said attributes magically
;; appear if you transform a non-constituent to a constituent.
(let ((att (get-cat-entry from-char really-from-readtable)))
;; attributes (constituent types), and that said attributes magically
;; appear if you transform a non-constituent to a constituent.
(let ((att (get-cat-entry from-char really-from-readtable)))
(set-cat-entry char (get-secondary-attribute char) rt)
(set-cat-entry char +char-attr-terminating-macro+ rt))
(set-cmt-entry char function rt)
(set-cat-entry char (get-secondary-attribute char) rt)
(set-cat-entry char +char-attr-terminating-macro+ rt))
(set-cmt-entry char function rt)
(defun get-macro-character (char &optional (rt *readtable*))
#!+sb-doc
(defun get-macro-character (char &optional (rt *readtable*))
#!+sb-doc
((not dig)
(setq exponent (if negative-exponent (- exponent) exponent)))
(setq exponent (+ (* exponent 10) dig)))
((not dig)
(setq exponent (if negative-exponent (- exponent) exponent)))
(setq exponent (+ (* exponent 10) dig)))
- ;; Generate and return the float, depending on float-char:
+ ;; Generate and return the float, depending on FLOAT-CHAR:
(let* ((float-format (case (char-upcase float-char)
(#\E *read-default-float-format*)
(#\S 'short-float)
(let* ((float-format (case (char-upcase float-char)
(#\E *read-default-float-format*)
(#\S 'short-float)
;; is disjoint from MEMBER-TYPE and so forth. But types which can
;; contain other types, like HAIRY-TYPE and INTERSECTION-TYPE, can
;; violate this rule.
;; is disjoint from MEMBER-TYPE and so forth. But types which can
;; contain other types, like HAIRY-TYPE and INTERSECTION-TYPE, can
;; violate this rule.
- (might-contain-other-types? nil :read-only t))
+ (might-contain-other-types-p nil :read-only t))
(def!method print-object ((ctype ctype) stream)
(print-unreadable-object (ctype stream :type t)
(prin1 (type-specifier ctype) stream)))
(def!method print-object ((ctype ctype) stream)
(print-unreadable-object (ctype stream :type t)
(prin1 (type-specifier ctype) stream)))
\f
;;;; implementation-dependent DEFTYPEs
\f
;;;; implementation-dependent DEFTYPEs
-;;; Make DOUBLE-FLOAT a synonym for LONG-FLOAT, SINGLE-FLOAT for SHORT-FLOAT.
-;;; This is expanded before the translator gets a chance, so we will get
-;;; precedence.
+;;; Make DOUBLE-FLOAT a synonym for LONG-FLOAT, SINGLE-FLOAT for
+;;; SHORT-FLOAT. This is expanded before the translator gets a chance,
+;;; so we will get precedence.
#!-long-float
(setf (info :type :kind 'long-float) :defined)
#!-long-float
#!-long-float
(setf (info :type :kind 'long-float) :defined)
#!-long-float
;;; for internal versions, especially for internal versions off the
;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
;;; for internal versions, especially for internal versions off the
;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)