Changeset 14399 in project for chicken


Ignore:
Timestamp:
04/23/09 13:00:54 (10 years ago)
Author:
felix winkelmann
Message:

types; scrutinizer tests

Location:
chicken/branches/scrutiny
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/scrutiny/TODO

    r14312 r14399  
    112112*** document type-specifiers
    113113*** allow giving toplevel procedure names to `scrutinize' option?
    114 *** line-numbers?
     114*** write test file trigger every type of warning (diff with result file in test-suite)
     115*** `(or ...)' simplification must check for subtype-relationship
     116*** use of `(and <flag> <value>)' idiom results in many non-matching `(or <type> boolean)' mismatches
    115117
    116118
  • chicken/branches/scrutiny/scrutinizer.scm

    r14328 r14399  
    6464  generate-code make-variable-list make-argument-list generate-foreign-stubs foreign-type-declaration
    6565  foreign-argument-conversion foreign-result-conversion foreign-type-convert-argument foreign-type-convert-result
    66   scrutinize load-type-database)
     66  scrutinize load-type-database source-info->line)
    6767
    6868
     
    7070
    7171
    72 (define-syntax d
    73   (syntax-rules ()
    74     ((_ fstr args ...)
    75      (printf "[debug] ~?~%" fstr (list args ...)))))
     72(define (d fstr . args)
     73  (printf "[debug] ~?~%" fstr args))
     74
     75;(define-syntax d (syntax-rules () ((_ . _) (void))))
    7676
    7777
     
    8686;       | BASIC
    8787;   BASIC = * | string | symbol | char | number | boolean | list | pair |
    88 ;           procedure | vector | void | null | eof | undefined | port | deprecated
     88;           procedure | vector | null | eof | undefined | port |
     89;           blob | deprecated
    8990;   RESULTS = *
    9091;           | (VAL1 ...)
     
    146147      (when f
    147148        (report
    148          loc "of type boolean" "a result that is always true"
     149         loc "of type boolean"
     150         (sprintf
     151          "a result that is of type `~a' and thus always true"
     152          t)
    149153         "value"
    150154         (sprintf "in conditional `~s'," (fragment x))))
     
    197201      t2))
    198202  (define (simplify1 t)
    199     (if (pair? t)
    200         (case (car t)
    201           ((or)
    202            (if (= 2 (length t))
    203                (simplify (second t))
    204                (let* ((ts (append-map
    205                            (lambda (t)
    206                              (let ((t (simplify t)))
    207                                (if (and (pair? t) (eq? 'or (car t)))
    208                                    (cdr t)
    209                                    (list t))))
    210                            (cdr t)))
    211                       (ts2 (let loop ((ts ts))
    212                              (cond ((null? ts) '())
    213                                    ((any (cut match (car ts) <>) (cdr ts))
    214                                     (loop (cdr ts)))
    215                                    (else (cons (car ts) (loop (cdr ts))))))))
    216                  (cond ((equal? ts2 (cdr t)) t)
    217                        (else
    218                         (d "  or-simplify: ~a" ts2)
    219                         (simplify `(or ,@(if (any (cut eq? <> '*) ts2) '(*) ts2))))))))
    220           ((procedure)
    221            (let ((name (and (not (list? (cadr t))) (cadr t))))
    222              `(procedure
    223                ,@(if name (list name) '())
    224                ,(map simplify (second t))
    225                ,@(map simplify (cddr t)))))
    226           (else t))
    227         t))
     203    (call/cc
     204     (lambda (return)
     205       (if (pair? t)
     206           (case (car t)
     207             ((or)
     208              (if (= 2 (length t))
     209                  (simplify (second t))
     210                  (let* ((ts (append-map
     211                              (lambda (t)
     212                                (let ((t (simplify t)))
     213                                  (if (and (pair? t) (eq? 'or (car t)))
     214                                      (cdr t)
     215                                      (list t))))
     216                              (cdr t)))
     217                         (ts2 (let loop ((ts ts))
     218                                (cond ((null? ts) '())
     219                                      ((eq? '* (car ts)) (return '*))
     220                                      ((any (cut match (car ts) <>) (cdr ts)) ;XXX broken for subtype-relationship
     221                                       (loop (cdr ts)))
     222                                      (else (cons (car ts) (loop (cdr ts))))))))
     223                    (cond ((equal? ts2 (cdr t)) t)
     224                          (else
     225                           (d "  or-simplify: ~a" ts2)
     226                           (simplify `(or ,@(if (any (cut eq? <> '*) ts2) '(*) ts2))))))))
     227             ((procedure)
     228              (let ((name (and (not (list? (cadr t))) (cadr t))))
     229                `(procedure
     230                  ,@(if name (list name) '())
     231                  ,(map simplify (second t))
     232                  ,@(map simplify (cddr t)))))
     233             (else t))
     234           t))))
    228235  (define (match t1 t2)
    229236    (let ((m (match1 t1 t2)))
     
    240247          (else
    241248           (and (pair? t1) (pair? t2)
    242              (cond ((and (eq? (car t1) 'or) (any (cut match <> t2)))
    243                    ((and (eq? (car t2) 'or) (any (cut match <> t2))))
    244                    (else
    245                     (or (eq? (car t1) (car t2))
    246                         (and (eq? 'procedure (car t1))
    247                              (let ((args1 (if (pair? (second t1)) (second t1) (third t1)))
    248                                    (args2 (if (pair? (second t2)) (second t2) (third t2)))
    249                                    (results1 (if (pair? (second t2)) (cdddr t2) (cddr t2)))
    250                                    (results2 (if (pair? (second t2)) (cdddr t2) (cddr t2))) )
    251                                (and (match-args args1 args2)
    252                                     (= (length results1) (length results2))
    253                                     (every match results1 results2))))
    254                         (and (eq? 'struct (car t1))
    255                              (equal? t1 t2))))))))))
     249                (cond ((and (eq? (car t1) 'or) (any (cut match <> t2))))
     250                      ((and (eq? (car t2) 'or) (any (cut match <> t2))))
     251                      (else
     252                       (or (eq? (car t1) (car t2))
     253                           (and (eq? 'procedure (car t1))
     254                                (let ((args1 (if (pair? (second t1)) (second t1) (third t1)))
     255                                      (args2 (if (pair? (second t2)) (second t2) (third t2)))
     256                                      (results1 (if (pair? (second t2)) (cdddr t2) (cddr t2)))
     257                                      (results2 (if (pair? (second t2)) (cdddr t2) (cddr t2))) )
     258                                  (and (match-args args1 args2)
     259                                       (= (length results1) (length results2))
     260                                       (every match results1 results2))))
     261                           (and (eq? 'struct (car t1))
     262                                (equal? t1 t2)))))))))
    256263  (define (match-args args1 args2)
    257264    (d "match-args: ~s <-> ~s" args1 args2)
     
    260267        (and (every (cut match rtype <>) head) ; match required args
    261268             (match
    262               rtype
    263               (if (and (pair? tail) (pair? (cdr tail)))
    264                   (cadr tail)
    265                   '*) ) ) ) )
     269                rtype
     270               (if (and (pair? tail) (pair? (cdr tail)))
     271                   (cadr tail)
     272                   '*) ) ) ) )
    266273    (define (optargs a)
    267274      (memq a '(#!rest #!optional)))
     
    296303                ((zero? n)
    297304                 (report loc "a single result" "zero results" #f)
    298                  'void)
     305                 'undefined)
    299306                (else
    300307                 (report loc "a single result" (sprintf "~a result~a" n (multiples n)) #f)
  • chicken/branches/scrutiny/types.db

    r14328 r14399  
    222222(interaction-environment (procedure interaction-environment () *))
    223223
    224 #!eof
    225 
    226224;; chicken
    227225
    228 (abort (procedure abort () *))
    229 (add1 (procedure add1 () *))
    230 (argc+argv (procedure argc+argv () *))
    231 (argv (procedure argv () *))
    232 (arithmetic-shift (procedure arithmetic-shift () *))
    233 (bit-set? (procedure bit-set? () *))
    234 (bitwise-and (procedure bitwise-and () *))
    235 (bitwise-ior (procedure bitwise-ior () *))
    236 (bitwise-not (procedure bitwise-not () *))
    237 (bitwise-xor (procedure bitwise-xor () *))
    238 (blob->string (procedure blob->string () *))
    239 (blob-size (procedure blob-size () *))
    240 (blob? (procedure blob? () *))
    241 (blob=? (procedure blob=? () *))
    242 (breakpoint (procedure breakpoint () *))
    243 (build-platform (procedure build-platform () *))
    244 (c-runtime (procedure c-runtime () *))
    245 (call/cc (procedure call/cc () *))
    246 (case-sensitive (procedure case-sensitive () *))
    247 (char-name (procedure char-name () *))
    248 (chicken-home (procedure chicken-home () *))
    249 (chicken-version (procedure chicken-version () *))
    250 (command-line-arguments (procedure command-line-arguments () *))
    251 (condition-predicate (procedure condition-predicate () *))
    252 (condition-property-accessor (procedure condition-property-accessor () *))
    253 (condition? (procedure condition? () *))
    254 (continuation-capture (procedure continuation-capture () *))
    255 (continuation-graft (procedure continuation-graft () *))
    256 (continuation-return (procedure continuation-return () *))
    257 (continuation? (procedure continuation? () *))
    258 (copy-read-table (procedure copy-read-table () *))
    259 (cpu-time (procedure cpu-time () *))
    260 (current-error-port (procedure current-error-port () *))
    261 (current-exception-handler (procedure current-exception-handler () *))
    262 (current-gc-milliseconds (procedure current-gc-milliseconds () *))
    263 (current-milliseconds (procedure current-milliseconds () *))
    264 (current-read-table (procedure current-read-table () *))
    265 (current-seconds (procedure current-seconds () *))
    266 (define-reader-ctor (procedure define-reader-ctor () *))
    267 (delete-file (procedure delete-file () *))
    268 (enable-warnings (procedure enable-warnings () *))
    269 (errno (procedure errno () *))
    270 (error (procedure error () *))
    271 (exit (procedure exit () *))
    272 (exit-handler (procedure exit-handler () *))
    273 (expand (procedure expand () *))
    274 (extension-information (procedure extension-information () *))
    275 (feature? (procedure feature? () *))
    276 (features (procedure features () *))
    277 (file-exists? (procedure file-exists? () *))
    278 (fixnum-bits (procedure fixnum-bits () *))
    279 (fixnum-precision (procedure fixnum-precision () *))
    280 (fixnum? (procedure fixnum? () *))
    281 (flonum-decimal-precision (procedure flonum-decimal-precision () *))
    282 (flonum-epsilon (procedure flonum-epsilon () *))
    283 (flonum-maximum-decimal-exponent (procedure flonum-maximum-decimal-exponent () *))
    284 (flonum-maximum-exponent (procedure flonum-maximum-exponent () *))
    285 (flonum-minimum-decimal-exponent (procedure flonum-minimum-decimal-exponent () *))
    286 (flonum-minimum-exponent (procedure flonum-minimum-exponent () *))
    287 (flonum-precision (procedure flonum-precision () *))
    288 (flonum-print-precision (procedure flonum-print-precision () *))
    289 (flonum-radix (procedure flonum-radix () *))
    290 (flonum? (procedure flonum? () *))
    291 (flush-output (procedure flush-output () *))
    292 (force-finalizers (procedure force-finalizers () *))
    293 (fp- (procedure fp- () *))
    294 (fp* (procedure fp* () *))
    295 (fp/ (procedure fp/ () *))
    296 (fp+ (procedure fp+ () *))
    297 (fp< (procedure fp< () *))
    298 (fp<= (procedure fp<= () *))
    299 (fp= (procedure fp= () *))
    300 (fp> (procedure fp> () *))
    301 (fp>= (procedure fp>= () *))
    302 (fpmax (procedure fpmax () *))
    303 (fpmin (procedure fpmin () *))
    304 (fpneg (procedure fpneg () *))
    305 (fx- (procedure fx- () *))
    306 (fx* (procedure fx* () *))
    307 (fx/ (procedure fx/ () *))
    308 (fx+ (procedure fx+ () *))
    309 (fx< (procedure fx< () *))
    310 (fx<= (procedure fx<= () *))
    311 (fx= (procedure fx= () *))
    312 (fx> (procedure fx> () *))
    313 (fx>= (procedure fx>= () *))
    314 (fxand (procedure fxand () *))
    315 (fxior (procedure fxior () *))
    316 (fxmax (procedure fxmax () *))
    317 (fxmin (procedure fxmin () *))
    318 (fxmod (procedure fxmod () *))
    319 (fxneg (procedure fxneg () *))
    320 (fxnot (procedure fxnot () *))
    321 (fxshl (procedure fxshl () *))
    322 (fxshr (procedure fxshr () *))
    323 (fxxor (procedure fxxor () *))
    324 (gc (procedure gc () *))
    325 (gensym (procedure gensym () *))
    326 (get (procedure get () *))
    327 (get-call-chain (procedure get-call-chain () *))
    328 (get-environment-variable (procedure get-environment-variable () *))
    329 (get-keyword (procedure get-keyword () *))
    330 (get-output-string (procedure get-output-string () *))
    331 (get-properties (procedure get-properties () *))
    332 (getenv (procedure getenv () *))
    333 (getter-with-setter (procedure getter-with-setter () *))
    334 (implicit-exit-handler (procedure implicit-exit-handler () *))
    335 (keyword->string (procedure keyword->string () *))
    336 (keyword-style (procedure keyword-style () *))
    337 (keyword? (procedure keyword? () *))
    338 (load-library (procedure load-library () *))
    339 (load-relative (procedure load-relative () *))
    340 (load-verbose (procedure load-verbose () *))
    341 (machine-byte-order (procedure machine-byte-order () *))
    342 (machine-type (procedure machine-type () *))
    343 (make-blob (procedure make-blob () *))
    344 (make-composite-condition (procedure make-composite-condition () *))
    345 (make-parameter (procedure make-parameter () *))
    346 (make-property-condition (procedure make-property-condition () *))
    347 (maximum-flonum (procedure maximum-flonum () *))
    348 (memory-statistics (procedure memory-statistics () *))
    349 (minimum-flonum (procedure minimum-flonum () *))
    350 (most-negative-fixnum (procedure most-negative-fixnum () *))
    351 (most-positive-fixnum (procedure most-positive-fixnum () *))
    352 (on-exit (procedure on-exit () *))
    353 (open-input-string (procedure open-input-string () *))
    354 (open-output-string (procedure open-output-string () *))
    355 (parentheses-synonyms (procedure parentheses-synonyms () *))
    356 (port-name (procedure port-name () *))
    357 (port-position (procedure port-position () *))
    358 (port? (procedure port? () *))
    359 (print (procedure print () *))
    360 (print-call-chain (procedure print-call-chain () *))
    361 (print-error-message (procedure print-error-message () *))
    362 (print* (procedure print* () *))
    363 (procedure-information (procedure procedure-information () *))
    364 (program-name (procedure program-name () *))
    365 (promise? (procedure promise? () *))
    366 (put! (procedure put! () *))
    367 (register-feature! (procedure register-feature! () *))
    368 (remprop! (procedure remprop! () *))
    369 (rename-file (procedure rename-file () *))
    370 (repository-path (procedure repository-path () *))
    371 (require (procedure require () *))
    372 (reset (procedure reset () *))
    373 (reset-handler (procedure reset-handler () *))
    374 (return-to-host (procedure return-to-host () *))
    375 (reverse-list->string (procedure reverse-list->string () *))
    376 (set-finalizer! (procedure set-finalizer! () *))
    377 (set-gc-report! (procedure set-gc-report! () *))
    378 (set-parameterized-read-syntax! (procedure set-parameterized-read-syntax! () *))
    379 (set-port-name! (procedure set-port-name! () *))
    380 (set-read-syntax! (procedure set-read-syntax! () *))
    381 (set-sharp-read-syntax! (procedure set-sharp-read-syntax! () *))
    382 (setter (procedure setter () *))
    383 (signal (procedure signal () *))
    384 (signum (procedure signum () *))
    385 (singlestep (procedure singlestep () *))
    386 (software-type (procedure software-type () *))
    387 (software-version (procedure software-version () *))
    388 (string->blob (procedure string->blob () *))
    389 (string->keyword (procedure string->keyword () *))
    390 (string->uninterned-symbol (procedure string->uninterned-symbol () *))
    391 (strip-syntax (procedure strip-syntax () *))
    392 (sub1 (procedure sub1 () *))
    393 (symbol-escape (procedure symbol-escape () *))
    394 (symbol-plist (procedure symbol-plist () *))
    395 (syntax-error (procedure syntax-error () *))
    396 (system (procedure system () *))
    397 (unregister-feature! (procedure unregister-feature! () *))
    398 (vector-resize (procedure vector-resize () *))
    399 (void (procedure void () *))
    400 (warning (procedure warning () *))
    401 (with-exception-handler (procedure with-exception-handler () *))
     226(abort (procedure abort (*) undefined))
     227(add1 (procedure add1 (number) number))
     228(argc+argv (procedure argc+argv () number list))
     229(argv (procedure argv () list))
     230(arithmetic-shift (procedure arithmetic-shift (number number) number))
     231(bit-set? (procedure bit-set? (number number) boolean))
     232(bitwise-and (procedure bitwise-and (#!rest number) number))
     233(bitwise-ior (procedure bitwise-ior (#!rest number) number))
     234(bitwise-not (procedure bitwise-not (number) number))
     235(bitwise-xor (procedure bitwise-xor (#!rest number) number))
     236(blob->string (procedure blob->string (blob) string))
     237(blob-size (procedure blob-size (blob) number))
     238(blob? (procedure blob? (*) boolean))
     239(blob=? (procedure blob=? (blob blob) boolean))
     240(breakpoint (procedure breakpoint (#!optional *) . *))
     241(build-platform (procedure build-platform () symbol))
     242(c-runtime (procedure c-runtime () symbol))
     243(call/cc (procedure call/cc (procedure) . *))
     244(case-sensitive (procedure case-sensitive (#!optional *) *))
     245(char-name (procedure char-name ((or char symbol) #!optional char) *))
     246(chicken-home (procedure chicken-home () string))
     247(chicken-version (procedure chicken-version () string))
     248(command-line-arguments (procedure command-line-arguments () list))
     249(condition-predicate (procedure condition-predicate (symbol) (procedure ((struct condition)) boolean)))
     250(condition-property-accessor (procedure condition-property-accessor (symbol symbol #!optional *) (procedure ((struct condition)) *)))
     251(condition? (procedure condition? (*) boolean))
     252(continuation-capture (procedure continuation-capture ((procedure ((struct continuation)) . *)) *))
     253(continuation-graft (procedure continuation-graft ((struct continuation) (procedure () . *)) *))
     254(continuation-return (procedure continuation-return (procedure #!rest) . *)) ;XXX make return type more specific?
     255(continuation? (procedure continuation? (*) boolean))
     256(copy-read-table (procedure copy-read-table ((struct read-table)) (struct read-table)))
     257(cpu-time (procedure cpu-time () number number))
     258(current-error-port (procedure current-error-port (#!optional port) port))
     259(current-exception-handler (procedure current-exception-handler () procedure))
     260(current-gc-milliseconds (procedure current-gc-milliseconds () number))
     261(current-milliseconds (procedure current-milliseconds () number))
     262(current-read-table (procedure current-read-table () (struct read-table)))
     263(current-seconds (procedure current-seconds () number))
     264(define-reader-ctor (procedure define-reader-ctor (symbol procedure) undefined))
     265(delete-file (procedure delete-file (string) undefined))
     266(enable-warnings (procedure enable-warnings (#!optional *) *))
     267(errno (procedure errno () number))
     268(error (procedure error (#!rest) undefined))
     269(exit (procedure exit (#!optional number) undefined))
     270(exit-handler (procedure exit-handler (#!optional procedure) procedure))
     271(expand (procedure expand (* #!optional *) *))
     272(extension-information (procedure extension-information (symbol) *))
     273(feature? (procedure feature? (symbol) boolean))
     274(features (procedure features () list))
     275(file-exists? (procedure file-exists? (string) boolean))
     276(fixnum-bits number)
     277(fixnum-precision number)
     278(fixnum? (procedure fixnum? (*) boolean))
     279(flonum-decimal-precision number)
     280(flonum-epsilon number)
     281(flonum-maximum-decimal-exponent number)
     282(flonum-maximum-exponent number)
     283(flonum-minimum-decimal-exponent number)
     284(flonum-minimum-exponent number)
     285(flonum-precision number)
     286(flonum-print-precision (procedure (#!optional number) number))
     287(flonum-radix number)
     288(flonum? (procedure flonum? (*) boolean))
     289(flush-output (procedure flush-output (#!optional port) undefined))
     290(force-finalizers (procedure force-finalizers () undefined))
     291(fp- (procedure fp- (number number) number))
     292(fp* (procedure fp* (number number) number))
     293(fp/ (procedure fp/ (number number) number))
     294(fp+ (procedure fp+ (number number) number))
     295(fp< (procedure fp< (number number) boolean))
     296(fp<= (procedure fp<= (number number) boolean))
     297(fp= (procedure fp= (number number) boolean))
     298(fp> (procedure fp> (number number) boolean))
     299(fp>= (procedure fp>= (number number) boolean))
     300(fpmax (procedure fpmax (number number) number))
     301(fpmin (procedure fpmin (number number) number))
     302(fpneg (procedure fpneg (number) number))
     303(fx- (procedure fx- (number number) number))
     304(fx* (procedure fx* (number number) number))
     305(fx/ (procedure fx/ (number number) number))
     306(fx+ (procedure fx+ (number number) number))
     307(fx< (procedure fx< (number number) boolean))
     308(fx<= (procedure fx<= (number number) boolean))
     309(fx= (procedure fx= (number number) boolean))
     310(fx> (procedure fx> (number number) boolean))
     311(fx>= (procedure fx>= (number number) boolean))
     312(fxand (procedure fxand (number number) number))
     313(fxior (procedure fxior (number number) number))
     314(fxmax (procedure fxmax (number number) number))
     315(fxmin (procedure fxmin (number number) number))
     316(fxmod (procedure fxmod (number number) number))
     317(fxneg (procedure fxneg (number) number))
     318(fxnot (procedure fxnot (number) number))
     319(fxshl (procedure fxshl (number number) number))
     320(fxshr (procedure fxshr (number number) number))
     321(fxxor (procedure fxxor (number number) number))
     322(gc (procedure gc (#!optional *) number))
     323(gensym (procedure gensym (#!optional *) symbol))
     324(get (procedure get (symbol symbol) *))
     325(get-call-chain (procedure get-call-chain (#!optional number *) list))
     326(get-environment-variable (procedure get-environment-variable (string) string))
     327(get-keyword (procedure get-keyword (symbol list #!optional *) *))
     328(get-output-string (procedure get-output-string (port) string))
     329(get-properties (procedure get-properties (symbol list) symbol * list))
     330(getenv (procedure getenv (string) string))
     331(getter-with-setter (procedure getter-with-setter (procedure procedure) procedure))
     332(implicit-exit-handler (procedure implicit-exit-handler (#!optional procedure) procedure))
     333(keyword->string (procedure keyword->string (symbol) string))
     334(keyword-style (procedure keyword-style (#!optional *) *))
     335(keyword? (procedure keyword? (*) boolean))
     336(load-library (procedure load-library (* string) undefined))
     337(load-relative (procedure load-relative (string #!optional procedure) undefined))
     338(load-verbose (procedure load-verbose (#!optional *) *))
     339(machine-byte-order (procedure machine-byte-order () symbol))
     340(machine-type (procedure machine-type () symbol))
     341(make-blob (procedure make-blob (number) blob))
     342(make-composite-condition (procedure make-composite-condition (#!rest (struct condition)) (struct condition)))
     343(make-parameter (procedure make-parameter (* #!optional procedure) procedure))
     344(make-property-condition (procedure make-property-condition (symbol #!rest symbol) (struct condition)))
     345(maximum-flonum number)
     346(memory-statistics (procedure memory-statistics () vector))
     347(minimum-flonum number)
     348(most-negative-fixnum number)
     349(most-positive-fixnum number)
     350(on-exit (procedure on-exit (procedure () . *) undefined))
     351(open-input-string (procedure open-input-string (string #!rest) port))
     352(open-output-string (procedure open-output-string (string #!rest) port))
     353(parentheses-synonyms (procedure parentheses-synonyms (#!optional *) *))
     354(port-name (procedure port-name (#!optional port) *))
     355(port-position (procedure port-position (#!optional port) number))
     356(port? (procedure port? (*) boolean))
     357(print (procedure print (#!rest *) undefined))
     358(print-call-chain (procedure print-call-chain (#!optional port number * string) undefined))
     359(print-error-message (procedure print-error-message (* port string) undefined))
     360(print* (procedure print* (#!rest) undefined))
     361(procedure-information (procedure procedure-information (procedure) *))
     362(program-name (procedure program-name () string))
     363(promise? (procedure promise? (*) boolean))
     364(put! (procedure put! (symbol symbol *) undefined))
     365(register-feature! (procedure register-feature! (#!rest symbol) undefined))
     366(remprop! (procedure remprop! (symbol symbol) undefined))
     367(rename-file (procedure rename-file (string string) undefined))
     368(repl (procedure repl () undefined))
     369(repl-prompt (procedure repl-prompt (#!optional procedure) procedure))
     370(repository-path (procedure repository-path (#!optional string) string))
     371(require (procedure require (#!rest *) undefined))
     372(reset (procedure reset () undefined))
     373(reset-handler (procedure reset-handler (#!optional procedure) procedure))
     374(return-to-host (procedure return-to-host () . *))
     375(reverse-list->string (procedure reverse-list->string (list) string))
     376(set-finalizer! (procedure set-finalizer! (* (procedure (*) . *)) undefined))
     377(set-gc-report! (procedure set-gc-report! (*) undefined))
     378(set-parameterized-read-syntax! (procedure set-parameterized-read-syntax! (char procedure) undefined))
     379(set-port-name! (procedure set-port-name! (port string) undefined))
     380(set-read-syntax! (procedure set-read-syntax! (char procedure) undefined))
     381(set-sharp-read-syntax! (procedure set-sharp-read-syntax! (char procedure) undefined))
     382(setter (procedure setter (procedure) procedure))
     383(signal (procedure signal (*) . *))
     384(signum (procedure signum (number) number))
     385(singlestep (procedure singlestep (procedure) . *))
     386(software-type (procedure software-type () symbol))
     387(software-version (procedure software-version () symbol))
     388(string->blob (procedure string->blob (string) blob))
     389(string->keyword (procedure string->keyword (string) symbol))
     390(string->uninterned-symbol (procedure string->uninterned-symbol (string) symbol))
     391(strip-syntax (procedure strip-syntax (*) *))
     392(sub1 (procedure sub1 (number) number))
     393(symbol-escape (procedure symbol-escape (#!optional *) *))
     394(symbol-plist (procedure symbol-plist (symbol) list))
     395(syntax-error (procedure syntax-error (#!rest) undefined))
     396(system (procedure system (string) number))
     397(unregister-feature! (procedure unregister-feature! (#!rest symbol) undefined))
     398(vector-resize (procedure vector-resize (vector number) vector))
     399(void (procedure void () undefined))
     400(warning (procedure warning (#!rest) . *))
     401(with-exception-handler (procedure with-exception-handler (procedure procedure) . *))
     402
     403#!eof
    402404
    403405;; data-structures
Note: See TracChangeset for help on using the changeset viewer.