~ chicken-core (chicken-5) 170500fbca932ce79031ac096e5442eb3b75bfe1
commit 170500fbca932ce79031ac096e5442eb3b75bfe1
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Mar 9 08:56:19 2011 -0500
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed Mar 9 08:56:19 2011 -0500
types.db complete. phew.
diff --git a/types.db b/types.db
index 45035e41..5c05e65f 100644
--- a/types.db
+++ b/types.db
@@ -328,7 +328,7 @@
(string->list (procedure string->list (string) list))
(list->string (procedure list->string (list) string))
(substring (procedure substring (string fixnum #!optional fixnum) string))
-(string-fill! (procedure string-fill! (string char) string))
+;(string-fill! (procedure string-fill! (string char) string)) - s.a.
(string (procedure string (#!rest char) string))
(vector? (procedure vector? (*) boolean)
@@ -1442,19 +1442,32 @@
;; srfi-13
-;;XXX...
(check-substring-spec (procedure check-substring-spec (* string fixnum fixnum) undefined))
(kmp-step (procedure kmp-step (string vector char fixnum (procedure (char char) *) fixnum) fixnum))
(make-kmp-restart-vector (procedure make-kmp-restart-vector (string #!optional (procedure (* *) *) fixnum fixnum) vector))
-(string->list (procedure string->list (string) list))
(string-any (procedure string-any (* string #!optional fixnum fixnum) boolean))
-(string-append/shared (procedure string-append/shared (#!rest string) string))
-(string-ci< (procedure string-ci< (string string #!optional fixnum fixnum) boolean))
-(string-ci<= (procedure string-ci<= (string string #!optional fixnum fixnum) boolean))
-(string-ci<> (procedure string-ci<> (string string #!optional fixnum fixnum) boolean))
-(string-ci= (procedure string-ci= (string string #!optional fixnum fixnum) boolean))
-(string-ci> (procedure string-ci> (string string #!optional fixnum fixnum) boolean))
-(string-ci>= (procedure string-ci>= (string string #!optional fixnum fixnum) boolean))
+
+(string-append/shared (procedure string-append/shared (#!rest string) string)
+ ((string string) (##sys#string-append #(1) #(2))))
+
+(string-ci< (procedure string-ci< (string string #!optional fixnum fixnum) boolean)
+ ((string string) (string-ci<? #(1) #(2))))
+
+(string-ci<= (procedure string-ci<= (string string #!optional fixnum fixnum) boolean)
+ ((string string) (string-ci<=? #(1) #(2))))
+
+(string-ci<> (procedure string-ci<> (string string #!optional fixnum fixnum) boolean)
+ ((string string) (not (##core#inline "C_i_string_ci_equal_p" #(1) #(2)))))
+
+(string-ci= (procedure string-ci= (string string #!optional fixnum fixnum) boolean)
+ ((string string) (##core#inline "C_i_string_ci_equal_p" #(1) #(2))))
+
+(string-ci> (procedure string-ci> (string string #!optional fixnum fixnum) boolean)
+ ((string string) (string-ci>? #(1) #(2))))
+
+(string-ci>= (procedure string-ci>= (string string #!optional fixnum fixnum) boolean)
+ ((string string) (string-ci>=? #(1) #(2))))
+
(string-compare (procedure string-compare (string string (procedure (fixnum) *) (procedure (fixnum) *) (procedure (fixnum) *) #!optional fixnum fixnum fixnum fixnum) *))
(string-compare-ci (procedure string-compare (string string (procedure (fixnum) *) (procedure (fixnum) *) (procedure (fixnum) *) #!optional fixnum fixnum fixnum fixnum) *))
(string-concatenate (procedure string-concatenate (list) string))
@@ -1472,7 +1485,7 @@
(string-drop (procedure string-drop (string fixnum) string))
(string-drop-right (procedure string-drop-right (string fixnum) string))
(string-every (procedure string-every (* string #!optional fixnum fixnum) boolean))
-(string-fill! (procedure string-fill! (string char) string))
+(string-fill! (procedure string-fill! (string char #!optional fixnum fixnum) string))
(string-filter (procedure string-filter (* string #!optional fixnum fixnum) string))
(string-fold (procedure string-fold ((procedure (char *) *) * string #!optional fixnum fixnum) *))
(string-fold-right (procedure string-fold-right ((procedure (char *) *) * string #!optional fixnum fixnum) *))
@@ -1484,7 +1497,10 @@
(string-kmp-partial-search (procedure string-kmp-partial-search (string vector string fixnum #!optional (procedure (char char) *) fixnum fixnum fixnum) fixnum))
(string-map (procedure string-map ((procedure (char) char) string #!optional fixnum fixnum) string))
(string-map! (procedure string-map! ((procedure (char) char) string #!optional fixnum fixnum) string))
-(string-null? (procedure string-null? (string) boolean))
+
+(string-null? (procedure string-null? (string) boolean)
+ ((string) (##core#inline "C_zero_length_p" #(1))))
+
(string-pad (procedure string-pad (string fixnum #!optional char fixnum fixnum) string))
(string-pad-right (procedure string-pad-right (string fixnum #!optional char fixnum fixnum) string))
(string-parse-final-start+end (procedure string-parse-final-start+end (procedure string #!rest) . *))
@@ -1516,19 +1532,36 @@
(string-upcase (procedure string-upcase (string #!optional fixnum fixnum) string))
(string-upcase! (procedure string-upcase! (string #!optional fixnum fixnum) string))
(string-xcopy! (procedure string-xcopy! (string string string fixnum #!optional fixnum fixnum fixnum) string))
-(string< (procedure string< (string string #!optional fixnum fixnum fixnum fixnum) boolean))
-(string<= (procedure string<= (string string #!optional fixnum fixnum fixnum fixnum) boolean))
-(string<> (procedure string<> (string string #!optional fixnum fixnum fixnum fixnum) boolean))
-(string= (procedure string= (string string #!optional fixnum fixnum fixnum fixnum) boolean))
-(string> (procedure string> (string string #!optional fixnum fixnum fixnum fixnum) boolean))
-(string>= (procedure string>= (string string #!optional fixnum fixnum fixnum fixnum) boolean))
+
+(string< (procedure string< (string string #!optional fixnum fixnum fixnum fixnum) boolean)
+ ((string string) (string<? #(1) #(2))))
+
+(string<= (procedure string<= (string string #!optional fixnum fixnum fixnum fixnum) boolean)
+ ((string string) (string<=? #(1) #(2))))
+
+(string<> (procedure string<> (string string #!optional fixnum fixnum fixnum fixnum) boolean)
+ ((string string) (not (##core#inline "C_i_string_equal_p" #(1) #(2)))))
+
+(string= (procedure string= (string string #!optional fixnum fixnum fixnum fixnum) boolean)
+ ((string string) (##core#inline "C_i_string_equal_p" #(1) #(2))))
+
+(string> (procedure string> (string string #!optional fixnum fixnum fixnum fixnum) boolean)
+ ((string string) (string>? #(1) #(2))))
+
+(string>= (procedure string>= (string string #!optional fixnum fixnum fixnum fixnum) boolean)
+ ((string string) (string>=? #(1) #(2))))
+
(substring-spec-ok? (procedure substring-spec-ok? (string fixnum fixnum) boolean))
(substring/shared (procedure substring/shared (string fixnum #!optional fixnum) string))
(xsubstring (procedure xsubstring (string fixnum #!optional fixnum fixnum fixnum) string))
;; srfi-14
-(->char-set (procedure ->char-set (*) (struct char-set)))
+(->char-set (procedure ->char-set (*) (struct char-set))
+ (((struct char-set)) #(1))
+ ((string) (string->char-set #(1)))
+ ((char) (char-set #(1))))
+
(char-set (procedure char-set (#!rest char) (struct char-set)))
(char-set->list (procedure char-set->list ((struct char-set)) list))
(char-set->string (procedure char-set->string ((struct char-set)) string))
@@ -1584,7 +1617,11 @@
(char-set:whitespace (struct char-set))
(char-set<= (procedure char-set<= (#!rest (struct char-set)) boolean))
(char-set= (procedure char-set= (#!rest (struct char-set)) boolean))
-(char-set? (procedure char-set? (*) boolean))
+
+(char-set? (procedure char-set? (*) boolean)
+ (((struct char-set)) (let ((#:tmp #(1))) #t))
+ (((not (struct char-set))) (let ((#:tmp #(1))) #f)))
+
(end-of-char-set? (procedure end-of-char-set? (fixnum) boolean))
(list->char-set (procedure list->char-set (list #!optional (struct char-set)) (struct char-set)))
(list->char-set! (procedure list->char-set! (list #!optional (struct char-set)) (struct char-set)))
@@ -1601,8 +1638,13 @@
(condition-variable-signal! (procedure condition-variable-signal! ((struct condition-variable)) undefined))
(condition-variable-specific (procedure condition-variable-specific ((struct condition-variable)) *))
(condition-variable-specific-set! (procedure condition-variable-specific-set! ((struct condition-variable) *) undefined))
-(condition-variable? (procedure condition-variable? (*) boolean))
-(current-thread (procedure current-thread () (struct thread)))
+
+(condition-variable? (procedure condition-variable? (*) boolean)
+ (((struct condition-variable)) (let ((#:tmp #(1))) #t))
+ (((not (struct condition-variable))) (let ((#:tmp #(1))) #f)))
+
+(current-thread (procedure current-thread () (struct thread))) ;XXX
+
(current-time (procedure current-time () (struct time)))
(join-timeout-exception? (procedure join-timeout-exception? (*) boolean))
(make-condition-variable (procedure make-condition-variable (#!optional *) (struct condition-variable)))
@@ -1610,34 +1652,66 @@
(make-thread (procedure make-thread ((procedure () . *) #!optional *) (struct thread)))
(milliseconds->time deprecated)
(mutex-lock! (procedure mutex-lock! ((struct mutex) #!optional * (struct thread)) boolean))
-(mutex-name (procedure mutex-name ((struct mutex)) *))
-(mutex-specific (procedure mutex-specific ((struct mutex)) *))
-(mutex-specific-set! (procedure mutex-specific-set! ((struct mutex) *) undefined))
+
+(mutex-name (procedure mutex-name ((struct mutex)) *)
+ (((struct mutex)) (##sys#slot #(1) 1)))
+
+(mutex-specific (procedure mutex-specific ((struct mutex)) *)
+ (((struct mutex)) (##sys#slot #(1) 6)))
+
+(mutex-specific-set! (procedure mutex-specific-set! ((struct mutex) *) undefined)
+ (((struct mutex) *) (##sys#setslot #(1) 6 #(2))))
+
(mutex-state (procedure mutex-state ((struct mutex)) symbol))
(mutex-unlock! (procedure mutex-unlock! ((struct mutex) #!optional (struct condition-variable) *) undefined))
-(mutex? (procedure mutex? (*) boolean))
+
+(mutex? (procedure mutex? (*) boolean)
+ (((struct mutex)) (let ((#:tmp #(1))) #t))
+ (((not (struct mutex))) (let ((#:tmp #(1))) #f)))
+
(raise (procedure raise (*) noreturn))
(seconds->time (procedure seconds->time (number) (struct time)))
(terminated-thread-exception? (procedure terminated-thread-exception? (*) boolean))
(thread-join! (procedure thread-join! ((struct thread) #!optional * *) *))
-(thread-name (procedure thread-name ((struct thread)) *))
-(thread-quantum (procedure thread-quantum ((struct thread)) fixnum))
+
+(thread-name (procedure thread-name ((struct thread)) *)
+ (((struct thread)) (##sys#slot #(1) 6)))
+
+(thread-quantum (procedure thread-quantum ((struct thread)) fixnum)
+ (((struct thread)) (##sys#slot #(1) 9)))
+
(thread-quantum-set! (procedure thread-quantum-set! ((struct thread) fixnum) undefined))
(thread-resume! (procedure thread-resume! ((struct thread)) undefined))
(thread-signal! (procedure thread-signal! ((struct thread) *) undefined))
(thread-sleep! (procedure thread-sleep! (*) undefined))
-(thread-specific (procedure thread-specific ((struct thread)) *))
-(thread-specific-set! (procedure thread-specific-set! ((struct thread) *) undefined))
+
+(thread-specific (procedure thread-specific ((struct thread)) *)
+ (((struct thread)) (##sys#slot #(1) 10)))
+
+(thread-specific-set! (procedure thread-specific-set! ((struct thread) *) undefined)
+ (((struct thread) *) (##sys#setslot #(1) 10 #(2))))
+
(thread-start! (procedure thread-start! ((or (struct thread) (procedure () . *))) (struct thread)))
-(thread-state (procedure thread-state ((struct thread)) symbol))
+
+(thread-state (procedure thread-state ((struct thread)) symbol)
+ (((struct thread)) (##sys#slot #(1) 3)))
+
(thread-suspend! (procedure thread-suspend! ((struct thread)) undefined))
(thread-terminate! (procedure thread-terminate! ((struct thread)) undefined))
(thread-wait-for-i/o! (procedure thread-wait-for-i/o! (fixnum #!optional symbol) undefined))
(thread-yield! (procedure thread-yield! () undefined))
-(thread? (procedure thread? (*) boolean))
+
+(thread? (procedure thread? (*) boolean)
+ (((struct thread)) (let ((#:tmp #(1))) #t))
+ (((not (struct thread))) (let ((#:tmp #(1))) #f)))
+
(time->milliseconds deprecated)
(time->seconds (procedure time->seconds ((struct time)) number))
-(time? (procedure time? (*) boolean))
+
+(time? (procedure time? (*) boolean)
+ (((struct time)) (let ((#:tmp #(1))) #t))
+ (((not (struct time))) (let ((#:tmp #(1))) #f)))
+
(uncaught-exception-reason (procedure uncaught-exception-reason ((struct condition)) *))
(uncaught-exception? (procedure uncaught-exception? (*) boolean))
@@ -1663,18 +1737,32 @@
(f32vector->blob (procedure f32vector->blob ((struct f32vector)) blob))
(f32vector->blob/shared (procedure f32vector->blob/shared ((struct f232vector)) blob))
(f32vector->list (procedure f32vector->list ((struct f32vector)) list))
-(f32vector-length (procedure f32vector-length ((struct f32vector)) fixnum))
+
+(f32vector-length (procedure f32vector-length ((struct f32vector)) fixnum)
+ (((struct f32vector)) (##core#inline "C_u_i_32vector_length" #(1))))
+
(f32vector-ref (procedure f32vector-ref ((struct f32vector) fixnum) float))
(f32vector-set! (procedure f32vector-set! ((struct f32vector) fixnum number) undefined))
-(f32vector? (procedure f32vector? (*) boolean))
+
+(f32vector? (procedure f32vector? (*) boolean)
+ (((struct f32vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct f32vector))) (let ((#:tmp #(1))) #f)))
+
(f64vector (procedure f64vector (#!rest number) (struct f64vector)))
(f64vector->blob (procedure f64vector->blob ((struct f32vector)) blob))
(f64vector->blob/shared (procedure f64vector->blob/shared ((struct f64vector)) blob))
(f64vector->list (procedure f64vector->list ((struct f64vector)) blob))
-(f64vector-length (procedure f64vector-length ((struct f64vector)) fixnum))
+
+(f64vector-length (procedure f64vector-length ((struct f64vector)) fixnum)
+ (((struct f32vector)) (##core#inline "C_u_i_64vector_length" #(1))))
+
(f64vector-ref (procedure f64vector-ref ((struct f64vector) fixnum) float))
(f64vector-set! (procedure f64vector-set! ((struct f64vector) fixnum number) undefined))
-(f64vector? (procedure f64vector? (*) boolean))
+
+(f64vector? (procedure f64vector? (*) boolean)
+ (((struct f64vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct f64vector))) (let ((#:tmp #(1))) #f)))
+
(list->f32vector (procedure list->f32vector (list) (struct f32vector)))
(list->f64vector (procedure list->f64vector (list) (struct f64vector)))
(list->s16vector (procedure list->s16vector (list) (struct s16vector)))
@@ -1698,26 +1786,47 @@
(s16vector->blob (procedure s16vector->blob ((struct s16vector)) blob))
(s16vector->blob/shared (procedure s16vector->blob/shared ((struct s16vector)) blob))
(s16vector->list (procedure s16vector->list ((struct s16vector)) list))
-(s16vector-length (procedure s16vector-length ((struct s16vector)) fixnum))
+
+(s16vector-length (procedure s16vector-length ((struct s16vector)) fixnum)
+ (((struct s16vector)) (##core#inline "C_u_i_16vector_length" #(1))))
+
(s16vector-ref (procedure s16vector-ref ((struct s16vector) fixnum) fixnum))
(s16vector-set! (procedure s16vector-set! ((struct s16vewctor) fixnum fixnum) undefined))
-(s16vector? (procedure s16vector? (*) boolean))
+
+(s16vector? (procedure s16vector? (*) boolean)
+ (((struct s16vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct s16vector))) (let ((#:tmp #(1))) #f)))
+
(s32vector (procedure s32vector (#!rest number) (struct s32vector)))
(s32vector->blob (procedure s32vector->blob ((structs 32vector)) blob))
(s32vector->blob/shared (procedure s32vector->blob/shared ((struct s32vector)) blob))
(s32vector->list (procedure s32vector->list ((struct s32vector)) list))
+
(s32vector-length (procedure s32vector-length ((struct s32vector)) fixnum))
+ (((struct s32vector)) (##core#inline "C_u_i_32vector_length" #(1))))
+
(s32vector-ref (procedure s32vector-ref ((struct s32vector) fixnum) number))
(s32vector-set! (procedure s32vector-set! ((struct s32vector) fixnum number) undefined))
-(s32vector? (procedure s32vector? (*) boolean))
+
+(s32vector? (procedure s32vector? (*) boolean)
+ (((struct s32vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct s32vector))) (let ((#:tmp #(1))) #f)))
+
(s8vector (procedure s8vector (#!rest fixnum) (struct s8vector)))
(s8vector->blob (procedure s8vector->blob ((struct s8vector)) blob))
(s8vector->blob/shared (procedure s8vector->blob/shared ((struct s8vector)) blob))
(s8vector->list (procedure s8vector->list ((struct s8vector)) list))
-(s8vector-length (procedure s8vector-length ((struct s8vector)) fixnum))
+
+(s8vector-length (procedure s8vector-length ((struct s8vector)) fixnum)
+ (((struct s8vector)) (##core#inline "C_u_i_8vector_length" #(1))))
+
(s8vector-ref (procedure s8vector-ref ((struct s18vector) fixnum) fixnum))
(s8vector-set! (procedure s8vector-set! ((struct s8vector) fixnum fixnum) undefined))
-(s8vector? (procedure s8vector? (*) boolean))
+
+(s8vector? (procedure s8vector? (*) boolean)
+ (((struct s8vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct s8vector))) (let ((#:tmp #(1))) #f)))
+
(subf32vector (procedure subf32vector ((struct f32vector) fixnum fixnum) (struct f32vector)))
(subf64vector (procedure subf64vector ((struct f64vector) fixnum fixnum) (struct f64vector)))
(subs16vector (procedure subs16vector ((struct s16vector) fixnum fixnum) (struct s16vector)))
@@ -1730,26 +1839,47 @@
(u16vector->blob (procedure u16vector->blob ((struct u16vector)) blob))
(u16vector->blob/shared (procedure u16vector->blob/shared ((struct u16vector)) blob))
(u16vector->list (procedure u16vector->list ((struct u16vector)) list))
-(u16vector-length (procedure u16vector-length ((struct u16vector)) fixnum))
+
+(u16vector-length (procedure u16vector-length ((struct u16vector)) fixnum)
+ (((struct u16vector)) (##core#inline "C_u_i_16vector_length" #(1))))
+
(u16vector-ref (procedure u16vector-ref ((struct u16vector) fixnum) fixnum))
(u16vector-set! (procedure u16vector-set! ((struct u16vector) fixnum fixnum) undefined))
-(u16vector? (procedure u16vector? (*) boolean))
+
+(u16vector? (procedure u16vector? (*) boolean)
+ (((struct u16vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct u16vector))) (let ((#:tmp #(1))) #f)))
+
(u32vector (procedure u32vector (#!rest number) (struct u32vector)))
(u32vector->blob (procedure u32vector->blob ((struct u32vector)) blob))
(u32vector->blob/shared (procedure u32vector->blob/shared ((struct u32vector)) blob))
(u32vector->list (procedure u32vector->list ((struct u32vector)) list))
-(u32vector-length (procedure u32vector-length ((struct u32vector)) fixnum))
+
+(u32vector-length (procedure u32vector-length ((struct u32vector)) fixnum)
+ (((struct u32vector)) (##core#inline "C_u_i_32vector_length" #(1))))
+
(u32vector-ref (procedure u32vector-ref ((struct u32vector) fixnum) number))
(u32vector-set! (procedure u32vector-set! ((struct u32vector) fixnum number) undefined))
-(u32vector? (procedure u32vector? (*) boolean))
+
+(u32vector? (procedure u32vector? (*) boolean)
+ (((struct u32vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct u32vector))) (let ((#:tmp #(1))) #f)))
+
(u8vector (procedure u8vector (#!rest fixnum) (struct u8vector)))
(u8vector->blob (procedure u8vector->blob ((struct u8vector)) blob))
(u8vector->blob/shared (procedure u8vector->blob/shared ((struct u8vector)) blob))
(u8vector->list (procedure u8vector->list ((struct u8vector)) list))
-(u8vector-length (procedure u8vector-length ((struct u8vector)) fixnum))
+
+(u8vector-length (procedure u8vector-length ((struct u8vector)) fixnum)
+ (((struct u8vector)) (##core#inline "C_u_i_8vector_length" #(1))))
+
(u8vector-ref (procedure u8vector-ref ((struct u8vector) fixnum) fixnum))
(u8vector-set! (procedure u8vector-set! ((struct u8vector) fixnum fixnum) undefined))
-(u8vector? (procedure u8vector? (*) boolean))
+
+(u8vector? (procedure u8vector? (*) boolean)
+ (((struct fu8vector)) (let ((#:tmp #(1))) #t))
+ (((not (struct u8vector))) (let ((#:tmp #(1))) #f)))
+
(write-u8vector (procedure write-u8vector ((struct u8vector) #!optional port fixnum fixnum) undefined))
;; srfi-69
@@ -1768,28 +1898,53 @@
(hash-table-exists? (procedure hash-table-exists? ((struct hash-table) *) boolean))
(hash-table-fold (procedure hash-table-fold ((struct hash-table) (procedure (* * *) *) *) *))
(hash-table-for-each (procedure hash-table-for-each ((struct hash-table) (procedure (* *) . *)) undefined))
-(hash-table-has-initial? (procedure hash-table-has-initial? ((struct hash-table)) boolean))
-(hash-table-hash-function (procedure hash-table-hash-function ((struct hash-table)) (procedure (* fixnum) fixnum)))
+
+(hash-table-has-initial? (procedure hash-table-has-initial? ((struct hash-table)) boolean)
+ (((struct hash-table)) (##sys#slot #(1) 9))) ;XXX might return other than #t
+
+(hash-table-hash-function (procedure hash-table-hash-function ((struct hash-table)) (procedure (* fixnum) fixnum))
+ (((struct hash-table)) (##sys#slot #(1) 4)))
+
(hash-table-initial (procedure hash-table-initial ((struct hash-table)) *))
(hash-table-keys (procedure hash-table-keys ((struct hash-table)) list))
(hash-table-map (procedure hash-table-map ((struct hash-table) (procedure (* *) *)) list))
-(hash-table-max-load (procedure hash-table-max-load ((struct hash-table)) fixnum))
+
+(hash-table-max-load (procedure hash-table-max-load ((struct hash-table)) fixnum)
+ (((struct hash-table)) (##sys#slot #(1) 6)))
+
(hash-table-merge (procedure hash-table-merge ((struct hash-table) (struct hash-table)) (struct hash-table)))
(hash-table-merge! (procedure hash-table-merge! ((struct hash-table) (struct hash-table)) undefined))
-(hash-table-min-load (procedure hash-table-min-load ((struct hash-table)) fixnum))
+
+(hash-table-min-load (procedure hash-table-min-load ((struct hash-table)) fixnum)
+ (((struct hash-table)) (##sys#slot #(1) 5)))
+
(hash-table-ref (procedure hash-table-ref ((struct hash-table) * #!optional (procedure () *)) *))
(hash-table-ref/default (procedure hash-table-ref/default ((struct hash-table) * *) *))
(hash-table-remove! (procedure hash-table-remove! ((struct hash-table) (procedure (* *) *)) undefined))
(hash-table-set! (procedure hash-table-set! ((struct hash-table) * *) undefined))
-(hash-table-size (procedure hash-table-size ((struct hash-table)) fixnum))
+
+(hash-table-size (procedure hash-table-size ((struct hash-table)) fixnum)
+ (((struct hash-table)) (##sys#slot #(1) 2)))
+
(hash-table-update! (procedure hash-table-update! ((struct hash-table) * (procedure (*) *) #!optional (procedure () *)) *))
(hash-table-update!/default (procedure hash-table-update!/default ((struct hash-table) * (procedure (*) *) *) *))
(hash-table-values (procedure hash-table-values ((struct hash-table)) list))
(hash-table-walk (procedure hash-table-walk ((struct hash-table) (procedure (* *) . *)) undefined))
-(hash-table-weak-keys (procedure hash-table-weak-keys ((struct hash-table)) boolean))
-(hash-table-weak-values (procedure hash-table-weak-values ((struct hash-table)) boolean))
-(hash-table? (procedure hash-table? (*) boolean))
+
+(hash-table-weak-keys (procedure hash-table-weak-keys ((struct hash-table)) boolean)
+ (((struct hash-table)) (##sys#slot #(1) 7)))
+
+(hash-table-weak-values (procedure hash-table-weak-values ((struct hash-table)) boolean)
+ (((struct hash-table)) (##sys#slot #(1) 8)))
+
+(hash-table? (procedure hash-table? (*) boolean)
+ (((struct hash-table)) (let ((#:tmp #(1))) #t))
+ (((not (struct hash-table))) (let ((#:tmp #(1))) #f)))
+
+;;XXX if we want to hardcode hash-default-bound here, we could rewrite the 1-arg case...
+; (applies to all hash-functions)
(keyword-hash (procedure keyword-hash (* #!optional fixnum) fixnum))
+
(make-hash-table (procedure make-hash-table (#!rest) (struct hash-table)))
(number-hash (procedure number-hash (fixnum #!optional fixnum) fixnum))
(object-uid-hash (procedure object-uid-hash (* #!optional fixnum) fixnum))
@@ -1810,9 +1965,16 @@
(tcp-connect (procedure tcp-connect (string #!optional fixnum) port port))
(tcp-connect-timeout (procedure tcp-connect-timeout (#!optional number) number))
(tcp-listen (procedure tcp-listen (fixnum #!optional fixnum *) (struct tcp-listener)))
-(tcp-listener-fileno (procedure tcp-listener-fileno ((struct tcp-listener)) fixnum))
+
+(tcp-listener-fileno (procedure tcp-listener-fileno ((struct tcp-listener)) fixnum)
+ (((struct tcp-listener)) (##sys#slot #(1) 1)))
+
(tcp-listener-port (procedure tcp-listener-port ((struct tcp-listener)) fixnum))
-(tcp-listener? (procedure tcp-listener? (*) boolean))
+
+(tcp-listener? (procedure tcp-listener? (*) boolean)
+ (((struct tcp-listener)) (let ((#:tmp #(1))) #t))
+ (((not (struct tcp-listener))) (let ((#:tmp #(1))) #f)))
+
(tcp-port-numbers (procedure tcp-port-numbers (port) fixnum fixnum))
(tcp-read-timeout (procedure tcp-read-timeout (#!optional number) number))
(tcp-write-timeout (procedure tcp-write-timeout (#!optional number) number))
Trap