-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes.lsp
64 lines (46 loc) · 2.67 KB
/
notes.lsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
;-*- Mode: Lisp -*-
;;;; Author: Paul Dietz
;;;; Created: Mon Jun 30 21:43:23 2003
;;;; Contains: Notes concerning various parts of the ANSI spec.
(in-package :cl-test)
(defnote :allow-nil-arrays
"Allow specialized arrays of type (array nil).")
(defnote :allow-nonzero-nil-vectors
"Allow specialized vectors of type (vector nil) of nonzero size.")
(defnote :nil-vectors-are-strings
"Assume that (VECTOR NIL) objects are strings.")
(defnote :standardized-package-nicknames
"The standardized package nicknames specified in section 11 of ANSI CL are exclusive (disputed).")
(defnote :type-of/strict-builtins
"Interpret requirement 1.a on the TYPE-OF page to apply to all built-in types that
contain the object, not just to some builtin type that contains the object.")
(defnote :assume-no-gray-streams
"Disable the test if gray streams are present.")
(defnote :assume-no-simple-streams
"Disable the test if simple streams are present.")
(defnote :open-if-exists-new-version-no-error
"Assume that OPEN, when called with :if-exists :new-version, does not fail.")
#+sbcl (rt::disable-note :open-if-exists-new-version-no-error)
(defnote :make-condition-with-compound-name
"The spec says MAKE-CONDITION should work on any subtype of CONDITION, but this causes all sorts of problems. They probably meant only non-compound names.")
(defnote :ansi-spec-problem
"A catch-all for tests that illustrate problems in the ANSI spec.")
(defnote :negative-zero-is-similar-to-positive-zero
"The definition of similarity implies that -0.0 and 0.0 are similar (for each float type.)
If negative zeros are distinct this is probably not good, since it makes (defconstant x 0.0) be nonportable.")
(defnote :result-type-element-type-by-subtype
"Assume that (for sequence functions MAP, etc.) the element type of a vector result type
is defined to be the type X such that result-type is a subtype of (vector X).")
(defnote :loop-iteration-values-in-finally
"Assume that the values of iteration values in LOOP's FINALLY clause are defined to never
overstep the iteration limit.")
(defnote :no-floating-point-underflow-by-default
"Assume that the implementation purposefully does not conform to 12.1.4.3 by not signaling
FLOATING-POINT-UNDERFLOW by default.
A reason for lack of conformance might be contradictory wording in the spec:
12.1.4.3 mentions that the errors should be signaled, while arithmetic
operations mention that they \"might signal\" the error.")
;;; Haible disagrees with :result-type-element-type-by-subtype
#+clisp (rt::disable-note :result-type-element-type-by-subtype)
#+(or openmcl gcl ecl) (rt::disable-note :nil-vectors-are-strings)
#+gcl (rt::disable-note :allow-nil-arrays)