@@ -53,7 +53,7 @@ several fixed-width integers types, detailed later in this section.
53
53
numeric type, including all Racket numbers, both exact and inexact, including
54
54
complex numbers.
55
55
56
- @defnums[(Integer)]
56
+ @defnums[(Integer Exact-Integer )]
57
57
Includes Racket's exact integers and corresponds to the
58
58
@racket[exact-integer?] predicate. This is the most general type that is still
59
59
valid for indexing and other operations that require integral values.
@@ -63,7 +63,7 @@ Includes Racket's double-precision (default) floating-point numbers and
63
63
corresponds to the @racket[flonum?] predicate. This type excludes
64
64
single-precision floating-point numbers.
65
65
66
- @defnums[(Single-Flonum)]
66
+ @defnums[(Single-Flonum Single-Float )]
67
67
Includes Racket's single-precision floating-point numbers and corresponds to
68
68
the @racket[single-flonum?] predicate. This type excludes double-precision
69
69
floating-point numbers.
@@ -72,7 +72,7 @@ floating-point numbers.
72
72
Includes all of Racket's floating-point numbers, both single- and
73
73
double-precision.
74
74
75
- @defnums[(Exact-Rational)]
75
+ @defnums[(Rational Exact-Rational)]
76
76
Includes Racket's exact rationals, which include fractions and exact integers.
77
77
78
78
@defnums[(Real)]
@@ -82,15 +82,29 @@ all floating-point numbers. This is the most general type for which comparisons
82
82
83
83
@defnums[(
84
84
Exact-Number
85
+ Flonum-Complex
85
86
Float-Complex
86
87
Single-Flonum-Complex
88
+ Single-Float-Complex
87
89
Inexact-Complex
88
90
Imaginary
91
+ Flonum-Imaginary
92
+ Float-Imaginary
93
+ Single-Flonum-Imaginary
94
+ Single-Float-Imaginary
89
95
Exact-Complex
90
96
Exact-Imaginary
91
97
Inexact-Imaginary)]
92
98
These types correspond to Racket's complex numbers.
93
99
100
+ @ex[
101
+ (ann 1+1i Exact-Number)
102
+ (ann 1+1i Exact-Complex)
103
+ (ann 1+0i Exact-Number)
104
+ (eval:error (ann 1+0i Exact-Complex))
105
+ (ann 0+1i Exact-Number)
106
+ (eval:error (ann 0+1i Exact-Complex))]
107
+
94
108
@history[#:changed "1.7 " ]{@elem{Added @racket[Imaginary],
95
109
@racket[Inexact-Complex],
96
110
@racket[Exact-Complex],
@@ -103,20 +117,32 @@ negative, non-negative and non-positive subsets of the above types (where
103
117
applicable).
104
118
105
119
@defnums[(
120
+ Natural
106
121
Positive-Integer
122
+ Positive-Exact-Integer
107
123
Exact-Positive-Integer
108
124
Nonnegative-Integer
109
125
Exact-Nonnegative-Integer
110
- Natural
126
+ Nonnegative-Exact-Integer
111
127
Negative-Integer
128
+ Negative-Exact-Integer
129
+ Exact-Negative-Integer
130
+ Negative-Integer-Not-Fixnum
112
131
Nonpositive-Integer
132
+ Nonpositive-Exact-Integer
133
+ Exact-Nonpositive-Integer
134
+ Positive-Integer-Not-Fixnum
113
135
Zero
114
136
Positive-Float
115
137
Positive-Flonum
138
+ Positive-Float-Not-Nan
139
+ Positive-Flonum-Not-Nan
116
140
Nonnegative-Float
117
141
Nonnegative-Flonum
118
142
Negative-Float
119
143
Negative-Flonum
144
+ Negative-Float-Not-Nan
145
+ Negative-Flonum-Not-Nan
120
146
Nonpositive-Float
121
147
Nonpositive-Flonum
122
148
Float-Negative-Zero
@@ -128,13 +154,25 @@ Flonum-Zero
128
154
Float-Nan
129
155
Flonum-Nan
130
156
Positive-Single-Flonum
157
+ Positive-Single-Float
158
+ Positive-Single-Flonum-Not-Nan
159
+ Positive-Single-Float-Not-Nan
131
160
Nonnegative-Single-Flonum
161
+ Nonnegative-Single-Float
132
162
Negative-Single-Flonum
163
+ Negative-Single-Float
164
+ Negative-Single-Flonum-Not-Nan
165
+ Negative-Single-Float-Not-Nan
133
166
Nonpositive-Single-Flonum
167
+ Nonpositive-Single-Float
134
168
Single-Flonum-Negative-Zero
169
+ Single-Float-Negative-Zero
135
170
Single-Flonum-Positive-Zero
171
+ Single-Float-Positive-Zero
136
172
Single-Flonum-Zero
173
+ Single-Float-Zero
137
174
Single-Flonum-Nan
175
+ Single-Float-Nan
138
176
Positive-Inexact-Real
139
177
Nonnegative-Inexact-Real
140
178
Negative-Inexact-Real
@@ -143,10 +181,20 @@ Inexact-Real-Negative-Zero
143
181
Inexact-Real-Positive-Zero
144
182
Inexact-Real-Zero
145
183
Inexact-Real-Nan
184
+ Positive-Rational
146
185
Positive-Exact-Rational
186
+ Exact-Positive-Rational
187
+ Positive-Rational-Not-Integer
188
+ Nonnegative-Rational
147
189
Nonnegative-Exact-Rational
190
+ Exact-Nonnegative-Rational
191
+ Negative-Rational
148
192
Negative-Exact-Rational
193
+ Exact-Negative-Rational
194
+ Negative-Rational-Not-Integer
195
+ Nonpositive-Rational
149
196
Nonpositive-Exact-Rational
197
+ Exact-Nonpositive-Rational
150
198
Positive-Real
151
199
Nonnegative-Real
152
200
Negative-Real
@@ -175,10 +223,13 @@ diagram are subtypes of its containing types.
175
223
One
176
224
Byte
177
225
Positive-Byte
226
+ Byte>1
178
227
Index
179
228
Positive-Index
229
+ Positive-Index-Not-Byte
180
230
Fixnum
181
231
Positive-Fixnum
232
+ Positive-Fixnum-Not-Index
182
233
Nonnegative-Fixnum
183
234
Negative-Fixnum
184
235
Nonpositive-Fixnum
@@ -204,14 +255,27 @@ needed to check the desired bounds at runtime.
204
255
205
256
@defnums[(
206
257
ExtFlonum
258
+ ExtFloat
207
259
Positive-ExtFlonum
260
+ Positive-ExtFloat
261
+ Positive-ExtFlonum-Not-Nan
262
+ Positive-ExtFloat-Not-Nan
208
263
Nonnegative-ExtFlonum
264
+ Nonnegative-ExtFloat
209
265
Negative-ExtFlonum
266
+ Negative-ExtFloat
267
+ Negative-ExtFlonum-Not-Nan
268
+ Negative-ExtFloat-Not-Nan
210
269
Nonpositive-ExtFlonum
270
+ Nonpositive-ExtFloat
211
271
ExtFlonum-Negative-Zero
272
+ ExtFloat-Negative-Zero
212
273
ExtFlonum-Positive-Zero
274
+ ExtFloat-Positive-Zero
213
275
ExtFlonum-Zero
276
+ ExtFloat-Zero
214
277
ExtFlonum-Nan
278
+ ExtFloat-Nan
215
279
)]
216
280
80-bit @rtech{extflonum} types, for the values operated on by
217
281
@racketmodname[racket/extflonum] exports.
@@ -235,8 +299,10 @@ These are not part of the numeric tower.
235
299
@deftype[Path]
236
300
@deftype[Path-For-Some-System]
237
301
@deftype[Regexp]
302
+ @deftype[Base-Regexp]
238
303
@deftype[PRegexp]
239
304
@deftype[Byte-Regexp]
305
+ @deftype[Byte-Base-Regexp]
240
306
@deftype[Byte-PRegexp]
241
307
@deftype[Bytes]
242
308
@deftype[Namespace]
@@ -249,7 +315,9 @@ These are not part of the numeric tower.
249
315
@deftype[Module-Path]
250
316
@deftype[Module-Path-Index]
251
317
@deftype[Resolved-Module-Path]
318
+ @deftype[Other-System-Path]
252
319
@deftype[Compiled-Module-Expression]
320
+ @deftype[Compiled-Non-Module-Expression]
253
321
@deftype[Compiled-Expression]
254
322
@deftype[Internal-Definition-Context]
255
323
@deftype[Pretty-Print-Style-Table]
@@ -272,6 +340,7 @@ These are not part of the numeric tower.
272
340
@deftype[Subprocess]
273
341
@deftype[Place]
274
342
@deftype[Place-Channel]
343
+ @deftype[Base-Place-Channel]
275
344
@deftype[Semaphore]
276
345
@deftype[FSemaphore]
277
346
@deftype[Will-Executor]
@@ -1030,9 +1099,15 @@ prefab types with the (implicitly quoted) prefab-key
1030
1099
}
1031
1100
1032
1101
@defalias[Union U "type constructor " ]
1102
+ @defalias[∪ U "type constructor " ]
1033
1103
@defalias[Intersection ∩ "type constructor " ]
1034
1104
@defalias[→ -> "type constructor " ]
1035
1105
@defalias[case→ case-> "type constructor " ]
1106
+ @defalias[Box Boxof "type constructor " ]
1107
+ @defalias[Weak-Box Weak-Boxof "type constructor " ]
1108
+ @defalias[Custodian-Box Custodian-Boxof "type constructor " ]
1109
+ @defalias[MPair MPairof "type constructor " ]
1110
+ @defalias[None Nothing "type " ]
1036
1111
@defalias[∀ All "type " ]
1037
1112
1038
1113
@section{Other Types}
0 commit comments