~ chicken-core (chicken-5) ad9f40cb36dea53260059dc091aec88530e9ab4a


commit ad9f40cb36dea53260059dc091aec88530e9ab4a
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed May 11 05:21:57 2011 -0400
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Wed May 11 05:21:57 2011 -0400

    types.db entries for internal type-checking routines

diff --git a/types.db b/types.db
index 01e85f2d..331cd97a 100644
--- a/types.db
+++ b/types.db
@@ -853,6 +853,61 @@
 (warning (procedure warning (#!rest) . *))
 (with-exception-handler (procedure! with-exception-handler (procedure procedure) . *))
 
+;; chicken (internal)
+
+(##sys#foreign-char-argument (procedure! ##sys#foreign-char-argument (char) char)
+			     ((char) #(1)))
+(##sys#foreign-fixnum-argument (procedure! ##sys#foreign-fixnum-argument (fixnum) fixnum)
+			       ((fixnum) #(1)))
+(##sys#foreign-flonum-argument (procedure! ##sys#foreign-flonum-argument (number) number)
+			       ((float) #(1)))
+(##sys#foreign-string-argument (procedure! ##sys#foreign-string-argument (string) string)
+			       ((string) #(1)))
+(##sys#foreign-symbol-argument (procedure! ##sys#foreign-symbol-argument (symbol) symbol)
+			       ((symbol) #(1)))
+(##sys#foreign-pointer-argument (procedure! ##sys#foreign-pointer-argument (pointer) pointer)
+				((pointer) #(1)))
+
+(##sys#check-blob (procedure! ##sys#check-blob (blob #!optional *) *)
+		  ((blob) (let ((#:tmp #(1))) '#t))
+		  ((blob *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-pair (procedure! ##sys#check-pair (pair #!optional *) *)
+		  ((pair) (let ((#:tmp #(1))) '#t))
+		  ((pair *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-list (procedure! ##sys#check-list (list #!optional *) *)
+		  (((or null pair list)) (let ((#:tmp #(1))) '#t))
+		  (((or null pair list) *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-string (procedure! ##sys#check-string (string #!optional *) *)
+		    ((string) (let ((#:tmp #(1))) '#t))
+		    ((string) *  (let ((#:tmp #(1))) '#t)))
+(##sys#check-number (procedure! ##sys#check-number (number) *)
+		    ((number) (let ((#:tmp #(1))) '#t))
+		    ((number *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-exact (procedure! ##sys#check-exact (fixnum #!optional *) *)
+		   ((fixnum) (let ((#:tmp #(1))) '#t))
+		   ((fixnum *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-inexact (procedure! ##sys#check-inexact (float #!optional *) *)
+		     ((float) (let ((#:tmp #(1))) '#t))
+		     ((float *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-symbol (procedure! ##sys#check-symbol (symbol #!optional *) *)
+		    ((symbol) (let ((#:tmp #(1))) '#t))
+		    ((symbol *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-vector (procedure! ##sys#check-vector (vector #!optional *) *)
+		    ((vector) (let ((#:tmp #(1))) '#t))
+		    ((vector *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-char (procedure! ##sys#check-char (char #!optional *) *)
+		  ((char) (let ((#:tmp #(1))) '#t))
+		  ((char *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-boolean (procedure! ##sys#check-boolean (boolean #!optional *) *)
+		     ((boolean) (let ((#:tmp #(1))) '#t))
+		     ((boolean *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-locative (procedure! ##sys#check-locative (locative #!optional *) *)
+		      ((locative) (let ((#:tmp #(1))) '#t))
+		      ((locative *) (let ((#:tmp #(1))) '#t)))
+(##sys#check-closure (procedure! ##sys#check-closure (procedure #!optional *) *)
+		     ((procedure) (let ((#:tmp #(1))) '#t))
+		     ((procedure *) (let ((#:tmp #(1))) '#t)))
+
 ;; data-structures
 
 (->string (procedure ->string (*) string)
Trap