~ chicken-core (chicken-5) caebbf19b11d7231357333aa01a5053316afd31e
commit caebbf19b11d7231357333aa01a5053316afd31e Author: felix <felix@z.(none)> AuthorDate: Tue Mar 8 17:37:46 2011 +0100 Commit: felix <felix@z.(none)> CommitDate: Tue Mar 8 17:37:46 2011 +0100 types work diff --git a/types.db b/types.db index 39b5a2cc..d8cb229c 100644 --- a/types.db +++ b/types.db @@ -972,20 +972,16 @@ ;; lolevel -;;XXX... -(address->pointer (procedure address->pointer (fixnum) pointer)) +(address->pointer (procedure address->pointer (fixnum) pointer) + ((fixnum) (##sys#address->pointer #(1)))) + (align-to-word (procedure align-to-word (*) *)) (allocate (procedure allocate (fixnum) pointer)) (block-ref (procedure block-ref (* fixnum) *)) (block-set! (procedure block-set! (* fixnum *) *)) -(clear-unbound-variable-value! (procedure clear-unbound-variable-value! () undefined)) (extend-procedure (procedure extend-procedure (procedure *) procedure)) (extended-procedure? (procedure extended-procedure? (*) boolean)) (free (procedure free (pointer) *)) -(global-bound? deprecated) -(global-make-unbound! deprecated) -(global-ref deprecated) -(global-set! deprecated) (invalid-procedure-call-handler (procedure invalid-procedure-call-handler () procedure)) (locative->object (procedure locative->object (locative) *)) (locative-ref (procedure locative-ref (locative) *)) @@ -998,9 +994,14 @@ (move-memory! (procedure move-memory! (* * #!optional fixnum fixnum fixnum) *)) (mutate-procedure (procedure mutate-procedure (procedure procedure) procedure)) (null-pointer (procedure null-pointer () pointer)) -(null-pointer? (procedure null-pointer? (pointer) boolean)) + +(null-pointer? (procedure null-pointer? (pointer) boolean) + ((pointer) (##core#inline "C_null_pointerp" #(1)))) + (number-of-bytes (procedure number-of-bytes (*) fixnum)) -(number-of-slots (procedure number-of-slots (*) fixnum)) + +(number-of-slots (procedure number-of-slots (*) fixnum)) ;XXX + (object->pointer (procedure object->pointer (*) *)) (object-become! (procedure object-become! (list) *)) (object-copy (procedure object-copy (*) *)) @@ -1011,18 +1012,29 @@ (object-size (procedure object-size (*) fixnum)) (object-unevict (procedure object-unevict (* #!optional *) *)) (pointer+ (procedure pointer+ (pointer fixnum) pointer)) -(pointer->address (procedure pointer->address (pointer) number)) -(pointer->object (procedure pointer->object (pointer) *)) -(pointer-offset deprecated) + +(pointer->address (procedure pointer->address (pointer) number) + ((pointer) (##sys#pointer->address #(1)))) + +(pointer->object (procedure pointer->object (pointer) *) + ((pointer) (##core#inline "C_pointer_to_object" #(1)))) + (pointer-like? (procedure pointer-like? (*) boolean)) (pointer-f32-ref (procedure pointer-f32-ref (pointer) number)) (pointer-f32-set! (procedure pointer-f32-set! (pointer number) undefined)) (pointer-f64-ref (procedure pointer-f64-ref (pointer) number)) (pointer-f64-set! (procedure pointer-f64-set! (pointer number) undefined)) (pointer-vector (procedure pointer-vector (#!rest pointer-vector) boolean)) -(pointer-vector? (procedure pointer-vector? (*) boolean)) + +(pointer-vector? (procedure pointer-vector? (*) boolean) + ((pointer-vector) (let ((#:tmp #(1))) #t)) + (((not pointer-vector)) (let ((#:tmp #(1))) #f))) + (pointer-vector-fill! (procedure pointer-vector-fill! (pointer-vector pointer) undefined)) -(pointer-vector-length (procedure pointer-vector-length (pointer-vector) fixnum)) + +(pointer-vector-length (procedure pointer-vector-length (pointer-vector) fixnum) + ((pointer-vector) (##sys#slot #(1) 1))) + (pointer-vector-ref (procedure pointer-vector-ref (pointer-vector fixnum) pointer)) (pointer-vector-set! (procedure pointer-vector-set! (pointer-vector fixnum pointer) pointer)) (pointer-s16-ref (procedure pointer-s16-ref (pointer) fixnum)) @@ -1038,8 +1050,14 @@ (pointer-u32-set! (procedure pointer-u32-set! (pointer number) undefined)) (pointer-u8-ref (procedure pointer-u8-ref (pointer) fixnum)) (pointer-u8-set! (procedure pointer-u8-set! (pointer fixnum) undefined)) -(pointer=? (procedure pointer=? (pointer pointer) boolean)) -(pointer? (procedure pointer? (*) boolean)) + +(pointer=? (procedure pointer=? (pointer pointer) boolean) + ((pointer pointer) (##core#inline "C_pointer_eqp" #(1) #(2)))) + +(pointer? (procedure pointer? (*) boolean) + ((pointer) (let ((#:tmp #(1))) #t)) + (((not pointer)) (let ((#:tmp #(1))) #f))) + (procedure-data (procedure procedure-data (procedure) *)) (record->vector (procedure record->vector (*) vector)) (record-instance? (procedure record-instance? (*) boolean)) @@ -1049,13 +1067,8 @@ (record-instance-type (procedure record-instance-type (*) *)) (set-invalid-procedure-call-handler! (procedure set-invalid-procedure-call-handler! (procedure) undefined)) (set-procedure-data! (procedure set-procedure-data! (procedure *) undefined)) -(set-unbound-variable-value! (procedure set-unbound-variable-value! (*) undefined)) (tag-pointer (procedure tag-pointer (pointer *) pointer)) (tagged-pointer? (procedure tagged-pointer? (* #!optional *) boolean)) -(unbound-variable-value (procedure unbound-variable-value (#!optional *) undefined)) -(unbound-variable-given-value (procedure unbound-variable-given-value () *)) -(unbound-variable-signals-error? (procedure unbound-variable-signals-error? () boolean)) -(vector-like? (procedure vector-like? (*) boolean)) ;; ports @@ -1081,7 +1094,6 @@ (_exit (procedure _exit (fixnum) noreturn)) (call-with-input-pipe (procedure call-with-input-pipe (string (procedure (port) . *) #!optional symbol) . *)) (call-with-output-pipe (procedure call-with-output-pipe (string (procedure (port) . *) #!optional symbol) . *)) -(canonical-path deprecated) (change-directory (procedure change-directory (string) string)) (change-file-mode (procedure change-file-mode (string fixnum) undefined)) (change-file-owner (procedure change-file-owner (string fixnum fixnum) undefined)) @@ -1312,6 +1324,7 @@ ;; srfi-1 +;;XXX... (alist-cons (procedure alist-cons (* * *) list)) (alist-copy (procedure alist-copy (list) list)) (alist-delete (procedure alist-delete (* list #!optional (procedure (* *) *)) list))Trap